sig
module Unit :
sig
type u =
Metre
| Second
| Minute
| Mole
| Gram
| Litre
| Amp
| Kelvin
| Candela
| Tera of SIunits.Unit.u
| Giga of SIunits.Unit.u
| Mega of SIunits.Unit.u
| Kilo of SIunits.Unit.u
| Deci of SIunits.Unit.u
| Centi of SIunits.Unit.u
| Milli of SIunits.Unit.u
| Micro of SIunits.Unit.u
| Nano of SIunits.Unit.u
| Pico of SIunits.Unit.u
| Femto of SIunits.Unit.u
| Power of SIunits.Unit.u * int
type d =
Ratio of SIunits.Unit.u list * SIunits.Unit.u list
| Per of SIunits.Unit.u list
| In of SIunits.Unit.u list
| NoUnits
type t
val create : ?scale:float -> SIunits.Unit.d -> SIunits.Unit.t
val scale : float -> SIunits.Unit.t -> SIunits.Unit.t
val no_units : SIunits.Unit.t
val in_units : SIunits.Unit.u list -> SIunits.Unit.t
val per : SIunits.Unit.u list -> SIunits.Unit.t
val ratio :
SIunits.Unit.u list -> SIunits.Unit.u list -> SIunits.Unit.t
val mult : SIunits.Unit.t -> SIunits.Unit.t -> SIunits.Unit.t
val ( %* ) : SIunits.Unit.t -> SIunits.Unit.t -> SIunits.Unit.t
val div : SIunits.Unit.t -> SIunits.Unit.t -> SIunits.Unit.t
val ( %/ ) : SIunits.Unit.t -> SIunits.Unit.t -> SIunits.Unit.t
val dimensions_of : SIunits.Unit.t -> SIunits.Unit.d
val scale_of : SIunits.Unit.t -> float
val eq : SIunits.Unit.t -> SIunits.Unit.t -> bool
val ( %= ) : SIunits.Unit.t -> SIunits.Unit.t -> bool
val to_string : SIunits.Unit.t -> string
end
module Value :
sig
type t
exception Invalid_conversion of SIunits.Value.t * SIunits.Unit.d
exception Invalid_units of SIunits.Value.t * SIunits.Value.t * string
val value : float -> SIunits.Unit.t -> SIunits.Value.t
val ( %< ) : float -> SIunits.Unit.t -> SIunits.Value.t
val units_of : SIunits.Value.t -> SIunits.Unit.t
val ( =. ) : float -> float -> bool
val ( =!. ) : float -> float -> bool
val float_eq :
?rel:float -> ?abs:float -> unit -> float -> float -> bool
val eq : SIunits.Value.t -> SIunits.Value.t -> bool
val ( =: ) : SIunits.Value.t -> SIunits.Value.t -> bool
val eq_units : SIunits.Value.t -> SIunits.Value.t -> bool
val ( =?: ) : SIunits.Value.t -> SIunits.Value.t -> bool
val assign : SIunits.Value.t Pervasives.ref -> SIunits.Value.t -> unit
val ( <-: ) : SIunits.Value.t Pervasives.ref -> SIunits.Value.t -> unit
val get : SIunits.Value.t Pervasives.ref -> float
val ( !: ) : SIunits.Value.t Pervasives.ref -> float
val scale_to : SIunits.Value.t -> SIunits.Unit.t -> float
val ( %> ) : SIunits.Value.t -> SIunits.Unit.t -> float
val convert :
value:float -> from:SIunits.Unit.t -> into:SIunits.Unit.t -> float
val ( +: ) : SIunits.Value.t -> SIunits.Value.t -> SIunits.Value.t
val ( -: ) : SIunits.Value.t -> SIunits.Value.t -> SIunits.Value.t
val ( *: ) : SIunits.Value.t -> SIunits.Value.t -> SIunits.Value.t
val ( /: ) : SIunits.Value.t -> SIunits.Value.t -> SIunits.Value.t
val ( *:. ) : SIunits.Value.t -> float -> SIunits.Value.t
val ( /:. ) : SIunits.Value.t -> float -> SIunits.Value.t
val ( /.: ) : float -> SIunits.Value.t -> SIunits.Value.t
end
module Ops :
sig
val ( %* ) : SIunits.Unit.t -> SIunits.Unit.t -> SIunits.Unit.t
val ( %/ ) : SIunits.Unit.t -> SIunits.Unit.t -> SIunits.Unit.t
val ( %< ) : float -> SIunits.Unit.t -> SIunits.Value.t
val ( %> ) : SIunits.Value.t -> SIunits.Unit.t -> float
val ( %= ) : SIunits.Unit.t -> SIunits.Unit.t -> bool
val ( <-: ) : SIunits.Value.t Pervasives.ref -> SIunits.Value.t -> unit
val ( !: ) : SIunits.Value.t Pervasives.ref -> float
val ( =?: ) : SIunits.Value.t -> SIunits.Value.t -> bool
val ( =: ) : SIunits.Value.t -> SIunits.Value.t -> bool
val ( +: ) : SIunits.Value.t -> SIunits.Value.t -> SIunits.Value.t
val ( -: ) : SIunits.Value.t -> SIunits.Value.t -> SIunits.Value.t
val ( *: ) : SIunits.Value.t -> SIunits.Value.t -> SIunits.Value.t
val ( /: ) : SIunits.Value.t -> SIunits.Value.t -> SIunits.Value.t
val ( *:. ) : SIunits.Value.t -> float -> SIunits.Value.t
val ( /:. ) : SIunits.Value.t -> float -> SIunits.Value.t
val ( /.: ) : float -> SIunits.Value.t -> SIunits.Value.t
end
module Common :
sig
type t = SIunits.Unit.t
val sec : SIunits.Common.t
val min : SIunits.Common.t
val hour : SIunits.Common.t
val metre : SIunits.Common.t
val km : SIunits.Common.t
val cm : SIunits.Common.t
val mm : SIunits.Common.t
val um : SIunits.Common.t
val cm_per_sec : SIunits.Common.t
val cm_per_min : SIunits.Common.t
val um_per_sec : SIunits.Common.t
val um_per_min : SIunits.Common.t
val mmol_per_cm2_sec : SIunits.Common.t
val mmol_per_cm2_min : SIunits.Common.t
val nmol_per_cm2_sec : SIunits.Common.t
val nmol_per_cm2_min : SIunits.Common.t
val newton : SIunits.Common.t
val pascal : SIunits.Common.t
val kilo_pascal : SIunits.Common.t
val mmHg : SIunits.Common.t
val l_per_sec : SIunits.Common.t
val l_per_min : SIunits.Common.t
val ml_per_sec : SIunits.Common.t
val ml_per_min : SIunits.Common.t
val ul_per_sec : SIunits.Common.t
val ul_per_min : SIunits.Common.t
val nl_per_sec : SIunits.Common.t
val nl_per_min : SIunits.Common.t
val pl_per_sec : SIunits.Common.t
val pl_per_min : SIunits.Common.t
val kelvin : SIunits.Common.t
val to_celsius : SIunits.Value.t -> float
val to_fahrenheit : SIunits.Value.t -> float
val from_celsius : float -> SIunits.Value.t
val from_fahrenheit : float -> SIunits.Value.t
end
end