Module Fadbad.T
Construct a TAD-like module from a module of operators
Parameters
Signature
type t
= Fadbad__Tadiff.TTypeName(T).t
type elt
= T.elt
type scalar
= T.scalar
val copy : t -> t
val deepcopy : t -> t
val create : unit -> t
val make : elt -> t
val integer : int -> t
val zero : unit -> t
val one : unit -> t
val two : unit -> t
val get : t -> elt
val (!!) : t -> elt
val to_string : t -> string
val string_of_scalar : scalar -> string
val string_of_elt : elt -> string
val (~+) : t -> t
val (~-) : t -> t
val (+) : t -> t -> t
val (+=) : t -> t -> t
val (-) : t -> t -> t
val (-=) : t -> t -> t
val (*) : t -> t -> t
val (*=) : t -> t -> t
val (/) : t -> t -> t
val (/=) : t -> t -> t
val (**) : t -> t -> t
val inv : t -> t
val sqr : t -> t
val sqrt : t -> t
val log : t -> t
val exp : t -> t
val sin : t -> t
val cos : t -> t
val tan : t -> t
val asin : t -> t
val acos : t -> t
val atan : t -> t
val scale : t -> scalar -> t
val translate : t -> scalar -> t
val (=) : t -> t -> bool
val (<>) : t -> t -> bool
type op
= Fadbad__Tadiff.TTypeName(T).op
=
..
type op +=
CONST
|
SCALE of scalar
|
TRANS of scalar
|
SIN of T.t array
|
COS of T.t array
|
ADD
|
SUB
|
MUL
|
DIV
|
POW
|
POS
|
NEG
|
INV
|
SQR
|
SQRT
|
EXP
|
LOG
|
TAN
|
ASIN
|
ACOS
|
ATAN
val string_of_op : op -> string
val lift : T.t -> t
val value : t -> T.t
val operator : t -> op
val order : t -> int
val un_op : op -> t -> t
val bin_op : op -> t -> t -> t
val set : t -> int -> T.t -> unit
val d : t -> int -> elt
val deriv : t -> int -> T.t
val get_tvalues : t -> elt array
val get_derivatives : t -> elt array
val eval : t -> int -> int
val reset : t -> unit