Provided by: ocaml-nox_4.02.3-5ubuntu2_amd64 #### 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

val add_num : num -> num -> num

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.  Raise Failure num_of_string if the given string is not a
valid representation of an integer

=== 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
```