package orgeat

  1. Overview
  2. Docs

We can only evaluate species if they are defined on a ring

Parameters

module K : Scalar.S

Signature

include sig ... end
type t = K.t s
val zero : t
val is_zero : t -> bool
val one : t
val equal : t -> t -> bool
val map : ('a -> K.t) -> 'a s -> t
val add : t -> t -> t

Operations *

val neg : t -> t
val sub : t -> t -> t
val mul : t -> t -> t
val mul_scalar : K.t -> t -> t
val seq : t -> t
val set : t -> t
val cycle : t -> t
val seq_at_least_n : int -> t -> t
val seq_at_most_n : int -> t -> t
val tuple_n : int -> t -> t
val seq_bounded : min:int -> max:int -> t -> t
val of_scalar : K.t -> t
val of_class : Literal.Class.t -> t
val deriv_class : Literal.Class.t -> t -> t
val substitution : t Stdlib.Map.Make(Orgeat.Literal.Class).t -> t -> t
val eval : K.t Stdlib.Map.Make(Orgeat.Literal.Class).t -> t -> t
val deg_class : Literal.Class.t -> t -> int option
val is_polynomial_wrt_class : Literal.Class.t -> t -> bool
val to_string : t -> string
val get_value : t -> K.t
  • raises [Cannot_get_value]

    if a value cannot be inferred

val get_value_opt : t -> K.t option