sig
type t
and unop = Neg | Cast | Sqrt
and binop = Add | Sub | Mul | Div | Mod
and typ = Real | Int | Single | Double | Extended | Quad
and round = Near | Zero | Up | Down | Rnd
type expr =
Cst of Coeff.t
| Dim of Dim.t
| Unop of Texpr0.unop * Texpr0.expr * Texpr0.typ * Texpr0.round
| Binop of Texpr0.binop * Texpr0.expr * Texpr0.expr * Texpr0.typ *
Texpr0.round
external of_expr : Texpr0.expr -> Texpr0.t
= "camlidl_texpr0_ap_texpr0_of_expr"
external copy : Texpr0.t -> Texpr0.t = "camlidl_texpr0_ap_texpr0_copy"
external of_linexpr : Linexpr0.t -> Texpr0.t
= "camlidl_texpr0_ap_texpr0_of_linexpr"
external to_expr : Texpr0.t -> Texpr0.expr
= "camlidl_texpr0_ap_texpr0_to_expr"
external cst : Coeff.t -> Texpr0.t = "camlidl_texpr0_ap_texpr0_cst"
external dim : Dim.t -> Texpr0.t = "camlidl_texpr0_ap_texpr0_dim"
external unop :
Texpr0.unop -> Texpr0.t -> Texpr0.typ -> Texpr0.round -> Texpr0.t
= "camlidl_texpr0_ap_texpr0_unop"
external binop :
Texpr0.binop ->
Texpr0.typ -> Texpr0.round -> Texpr0.t -> Texpr0.t -> Texpr0.t
= "camlidl_texpr0_ap_texpr0_binop"
external is_interval_cst : Texpr0.t -> bool
= "camlidl_texpr0_ap_texpr0_is_interval_cst"
external is_interval_linear : Texpr0.t -> bool
= "camlidl_texpr0_ap_texpr0_is_interval_linear"
external is_interval_polynomial : Texpr0.t -> bool
= "camlidl_texpr0_ap_texpr0_is_interval_polynomial"
external is_interval_polyfrac : Texpr0.t -> bool
= "camlidl_texpr0_ap_texpr0_is_interval_polyfrac"
external is_scalar : Texpr0.t -> bool
= "camlidl_texpr0_ap_texpr0_is_scalar"
val string_of_unop : Texpr0.unop -> string
val string_of_binop : Texpr0.binop -> string
val string_of_typ : Texpr0.typ -> string
val string_of_round : Texpr0.round -> string
val print_unop : Format.formatter -> Texpr0.unop -> unit
val print_binop : Format.formatter -> Texpr0.binop -> unit
val print_typ : Format.formatter -> Texpr0.typ -> unit
val print_round : Format.formatter -> Texpr0.round -> unit
val print_expr :
(Dim.t -> string) -> Format.formatter -> Texpr0.expr -> unit
val print : (Dim.t -> string) -> Format.formatter -> Texpr0.t -> unit
val print_sprint_unop : Texpr0.unop -> Texpr0.typ -> Texpr0.round -> string
val print_sprint_binop :
Texpr0.binop -> Texpr0.typ -> Texpr0.round -> string
val print_precedence_of_unop : Texpr0.unop -> int
val print_precedence_of_binop : Texpr0.binop -> int
end