Library
Module
Module type
Parameter
Class
Class type
Operation on arbitrary-precision numbers.
Numbers (type num
) are arbitrary-precision rational numbers, plus the special elements 1/0
(infinity) and 0/0
(undefined).
The type of numbers.
Same as Num.add_num
.
Same as Num.sub_num
.
Same as Num.mult_num
.
Same as Num.div_num
.
Same as Num.power_num
.
val incr_num : num Stdlib.ref -> unit
incr r
is r:=!r+1
, where r
is a reference to a number.
val decr_num : num Stdlib.ref -> unit
decr r
is r:=!r-1
, where r
is a reference to a number.
val is_integer_num : num -> bool
Test if a number is an integer
The four following functions approximate a number by an integer :
integer_num n
returns the integer closest to n
. In case of ties, rounds towards zero.
round_num n
returns the integer closest to n
. In case of ties, rounds off zero.
val sign_num : num -> int
Return -1
, 0
or 1
according to the sign of the argument.
Return -1
, 0
or 1
if the first argument is less than, equal to, or greater than the second argument.
val string_of_num : num -> string
Convert a number to a string, using fractional notation.
val approx_num_fix : int -> num -> string
See Num.approx_num_exp
.
val approx_num_exp : int -> num -> string
Approximate a number by a decimal. The first argument is the required precision. The second argument is the number to approximate. Num.approx_num_fix
uses decimal notation; the first argument is the number of digits after the decimal point. approx_num_exp
uses scientific (exponential) notation; the first argument is the number of digits in the mantissa.
val num_of_string : string -> num
Convert a string to a number. Raise Failure "num_of_string"
if the given string is not a valid representation of an integer
val num_of_string_opt : string -> num option
Convert a string to a number. Return None
if the given string is not a valid representation of an integer.
val int_of_num : num -> int
val int_of_num_opt : num -> int option
val num_of_int : int -> num
val num_of_big_int : Big_int.big_int -> num
val big_int_of_num : num -> Big_int.big_int
val big_int_of_num_opt : num -> Big_int.big_int option
val ratio_of_num : num -> Ratio.ratio
val num_of_ratio : Ratio.ratio -> num
val float_of_num : num -> float