package fadbadml

  1. Overview
  2. Docs

Construct a TAD-like module from a module of operators

Parameters

module T : OpS

Signature

type 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 = ..
type op +=
  1. | CONST
  2. | SCALE of scalar
  3. | TRANS of scalar
  4. | SIN of T.t array
  5. | COS of T.t array
  6. | ADD
  7. | SUB
  8. | MUL
  9. | DIV
  10. | POW
  11. | POS
  12. | NEG
  13. | INV
  14. | SQR
  15. | SQRT
  16. | EXP
  17. | LOG
  18. | TAN
  19. | ASIN
  20. | ACOS
  21. | 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