package batteries
Install
dune-project
Dependency
Authors
Maintainers
Sources
md5=d02c4f044e53edca010de46f9139ce00
sha512=99a5afa3604c4cf0c849c670111d617f7f255acb0da043b73ddffdf0e299948bce52516ee31921f269de6088156c4e0a187e0b931543c6819c6b25966b303281
doc/batteries.unthreaded/BatNumber/index.html
Module BatNumberSource
A common interface for numbers.
Arithmetic overflow.
This kind of exception is raised by "safe" numeric modules whenever the number which should be returned is too large to be represented.
Non-"safe" numeric modules will return a result which depends on the internal representation. For instance, with module Int, max_num + 1 returns min_num. By opposition, with module Safe_int, max_num + 1 raises Overflow.
Not a Number
This kind of exception is raised by "safe" modules whenever the number which should be returned is not a number.
For instance, with module Safe_float, 0.0 / 0.0 raises NaN. By opposition, with module Float, 0.0 / 0.0 does not interrupt computation and returns a special value nan.
type 'a numeric = {zero : 'a;one : 'a;neg : 'a -> 'a;succ : 'a -> 'a;pred : 'a -> 'a;abs : 'a -> 'a;add : 'a -> 'a -> 'a;sub : 'a -> 'a -> 'a;mul : 'a -> 'a -> 'a;div : 'a -> 'a -> 'a;modulo : 'a -> 'a -> 'a;pow : 'a -> 'a -> 'a;compare : 'a -> 'a -> int;of_int : int -> 'a;to_int : 'a -> int;of_string : string -> 'a;to_string : 'a -> string;of_float : float -> 'a;to_float : 'a -> float;
}The smallest set of operations supported by every set of numbers.
This is presented as record to permit lightweight typeclass-style computation.
And if you are ready to drop generic comparison operators, then you can open this one as well
Reference operators ala C. Mutates a reference value. x -= y is the same as x := !x - y.