NAME¶
Num - Operation on arbitrary-precision numbers.
Module¶
Module Num
Documentation¶
Module
Num
:
sig end
Operation on arbitrary-precision numbers.
Numbers (type
num ) are arbitrary-precision rational numbers, plus the
special elements
1/0 (infinity) and
0/0 (undefined).
type num =
| Int
of int
| Big_int
of Big_int.big_int
| Ratio
of Ratio.ratio
The type of numbers.
=== Arithmetic operations ===
val (+/) :
num -> num -> num
Same as
Num.add_num .
val add_num :
num -> num -> num
Addition
val minus_num :
num -> num
Unary negation.
val (-/) :
num -> num -> num
Same as
Num.sub_num .
val sub_num :
num -> num -> num
Subtraction
val ( */ ) :
num -> num -> num
Same as
Num.mult_num .
val mult_num :
num -> num -> num
Multiplication
val square_num :
num -> num
Squaring
val (//) :
num -> num -> num
Same as
Num.div_num .
val div_num :
num -> num -> num
Division
val quo_num :
num -> num -> num
Euclidean division: quotient.
val mod_num :
num -> num -> num
Euclidean division: remainder.
val ( **/ ) :
num -> num -> num
Same as
Num.power_num .
val power_num :
num -> num -> num
Exponentiation
val abs_num :
num -> num
Absolute value.
val succ_num :
num -> num
succ n is
n+1
val pred_num :
num -> num
pred n is
n-1
val incr_num :
num Pervasives.ref -> unit
incr r is
r:=!r+1 , where
r is a reference to a number.
val decr_num :
num Pervasives.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 : ===
val integer_num :
num -> num
integer_num n returns the integer closest to
n . In case of ties,
rounds towards zero.
val floor_num :
num -> num
floor_num n returns the largest integer smaller or equal to
n .
val round_num :
num -> num
round_num n returns the integer closest to
n . In case of ties,
rounds off zero.
val ceiling_num :
num -> num
ceiling_num n returns the smallest integer bigger or equal to
n .
val sign_num :
num -> int
Return
-1 ,
0 or
1 according to the sign of the argument.
=== Comparisons between numbers ===
val (=/) :
num -> num -> bool
val (</) :
num -> num -> bool
val (>/) :
num -> num -> bool
val (<=/) :
num -> num -> bool
val (>=/) :
num -> num -> bool
val (<>/) :
num -> num -> bool
val eq_num :
num -> num -> bool
val lt_num :
num -> num -> bool
val le_num :
num -> num -> bool
val gt_num :
num -> num -> bool
val ge_num :
num -> num -> bool
val compare_num :
num -> num -> int
Return
-1 ,
0 or
1 if the first argument is less than,
equal to, or greater than the second argument.
val max_num :
num -> num -> num
Return the greater of the two arguments.
val min_num :
num -> num -> num
Return the smaller of the two arguments.
=== Coercions with strings ===
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.
=== Coercions between numerical types ===
val int_of_num :
num -> int
val num_of_int :
int -> num
val nat_of_num :
num -> Nat.nat
val num_of_nat :
Nat.nat -> num
val num_of_big_int :
Big_int.big_int -> num
val big_int_of_num :
num -> Big_int.big_int
val ratio_of_num :
num -> Ratio.ratio
val num_of_ratio :
Ratio.ratio -> num
val float_of_num :
num -> float