Module Std.Num
include module type of struct include Num end
The type of numbers.
Arithmetic operations
val (+/) :
Sexplib_num.Std.Num.num ->
Sexplib_num.Std.Num.num ->
Sexplib_num.Std.Num.numSame as Num.add_num.
val add_num :
Sexplib_num.Std.Num.num ->
Sexplib_num.Std.Num.num ->
Sexplib_num.Std.Num.numAddition
val minus_num : Sexplib_num.Std.Num.num -> Sexplib_num.Std.Num.numUnary negation.
val (-/) :
Sexplib_num.Std.Num.num ->
Sexplib_num.Std.Num.num ->
Sexplib_num.Std.Num.numSame as Num.sub_num.
val sub_num :
Sexplib_num.Std.Num.num ->
Sexplib_num.Std.Num.num ->
Sexplib_num.Std.Num.numSubtraction
val (*/) :
Sexplib_num.Std.Num.num ->
Sexplib_num.Std.Num.num ->
Sexplib_num.Std.Num.numSame as Num.mult_num.
val mult_num :
Sexplib_num.Std.Num.num ->
Sexplib_num.Std.Num.num ->
Sexplib_num.Std.Num.numMultiplication
val square_num : Sexplib_num.Std.Num.num -> Sexplib_num.Std.Num.numSquaring
val (//) :
Sexplib_num.Std.Num.num ->
Sexplib_num.Std.Num.num ->
Sexplib_num.Std.Num.numSame as Num.div_num.
val div_num :
Sexplib_num.Std.Num.num ->
Sexplib_num.Std.Num.num ->
Sexplib_num.Std.Num.numDivision
val quo_num :
Sexplib_num.Std.Num.num ->
Sexplib_num.Std.Num.num ->
Sexplib_num.Std.Num.numEuclidean division: quotient.
val mod_num :
Sexplib_num.Std.Num.num ->
Sexplib_num.Std.Num.num ->
Sexplib_num.Std.Num.numEuclidean division: remainder.
val (**/) :
Sexplib_num.Std.Num.num ->
Sexplib_num.Std.Num.num ->
Sexplib_num.Std.Num.numSame as Num.power_num.
val power_num :
Sexplib_num.Std.Num.num ->
Sexplib_num.Std.Num.num ->
Sexplib_num.Std.Num.numExponentiation
val abs_num : Sexplib_num.Std.Num.num -> Sexplib_num.Std.Num.numAbsolute value.
val succ_num : Sexplib_num.Std.Num.num -> Sexplib_num.Std.Num.numsucc n is n+1
val pred_num : Sexplib_num.Std.Num.num -> Sexplib_num.Std.Num.numpred n is n-1
val incr_num : Sexplib_num.Std.Num.num Stdlib.ref -> unitincr r is r:=!r+1, where r is a reference to a number.
val decr_num : Sexplib_num.Std.Num.num Stdlib.ref -> unitdecr r is r:=!r-1, where r is a reference to a number.
val is_integer_num : Sexplib_num.Std.Num.num -> boolTest if a number is an integer
The four following functions approximate a number by an integer :
val integer_num : Sexplib_num.Std.Num.num -> Sexplib_num.Std.Num.numinteger_num n returns the integer closest to n. In case of ties, rounds towards zero.
val floor_num : Sexplib_num.Std.Num.num -> Sexplib_num.Std.Num.numfloor_num n returns the largest integer smaller or equal to n.
val round_num : Sexplib_num.Std.Num.num -> Sexplib_num.Std.Num.numround_num n returns the integer closest to n. In case of ties, rounds off zero.
val ceiling_num : Sexplib_num.Std.Num.num -> Sexplib_num.Std.Num.numceiling_num n returns the smallest integer bigger or equal to n.
val sign_num : Sexplib_num.Std.Num.num -> intReturn -1, 0 or 1 according to the sign of the argument.
Comparisons between numbers
val (=/) : Sexplib_num.Std.Num.num -> Sexplib_num.Std.Num.num -> boolval (</) : Sexplib_num.Std.Num.num -> Sexplib_num.Std.Num.num -> boolval (>/) : Sexplib_num.Std.Num.num -> Sexplib_num.Std.Num.num -> boolval (<=/) : Sexplib_num.Std.Num.num -> Sexplib_num.Std.Num.num -> boolval (>=/) : Sexplib_num.Std.Num.num -> Sexplib_num.Std.Num.num -> boolval (<>/) : Sexplib_num.Std.Num.num -> Sexplib_num.Std.Num.num -> boolval eq_num : Sexplib_num.Std.Num.num -> Sexplib_num.Std.Num.num -> boolval lt_num : Sexplib_num.Std.Num.num -> Sexplib_num.Std.Num.num -> boolval le_num : Sexplib_num.Std.Num.num -> Sexplib_num.Std.Num.num -> boolval gt_num : Sexplib_num.Std.Num.num -> Sexplib_num.Std.Num.num -> boolval ge_num : Sexplib_num.Std.Num.num -> Sexplib_num.Std.Num.num -> boolval compare_num : Sexplib_num.Std.Num.num -> Sexplib_num.Std.Num.num -> intReturn -1, 0 or 1 if the first argument is less than, equal to, or greater than the second argument.
val max_num :
Sexplib_num.Std.Num.num ->
Sexplib_num.Std.Num.num ->
Sexplib_num.Std.Num.numReturn the greater of the two arguments.
val min_num :
Sexplib_num.Std.Num.num ->
Sexplib_num.Std.Num.num ->
Sexplib_num.Std.Num.numReturn the smaller of the two arguments.
Coercions with strings
val string_of_num : Sexplib_num.Std.Num.num -> stringConvert a number to a string, using fractional notation.
val approx_num_fix : int -> Sexplib_num.Std.Num.num -> stringSee Num.approx_num_exp.
val approx_num_exp : int -> Sexplib_num.Std.Num.num -> stringApproximate 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 -> Sexplib_num.Std.Num.numConvert 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 -> Sexplib_num.Std.Num.num optionConvert a string to a number. Return None if the given string is not a valid representation of an integer.
Coercions between numerical types
val int_of_num : Sexplib_num.Std.Num.num -> intval int_of_num_opt : Sexplib_num.Std.Num.num -> int optionval num_of_int : int -> Sexplib_num.Std.Num.numval nat_of_num : Sexplib_num.Std.Num.num -> Nat.natval nat_of_num_opt : Sexplib_num.Std.Num.num -> Nat.nat optionval num_of_nat : Nat.nat -> Sexplib_num.Std.Num.numval num_of_big_int : Big_int.big_int -> Sexplib_num.Std.Num.numval big_int_of_num : Sexplib_num.Std.Num.num -> Big_int.big_intval big_int_of_num_opt : Sexplib_num.Std.Num.num -> Big_int.big_int optionval ratio_of_num : Sexplib_num.Std.Num.num -> Ratio.ratioval num_of_ratio : Ratio.ratio -> Sexplib_num.Std.Num.numval float_of_num : Sexplib_num.Std.Num.num -> floatval sexp_of_num : Num.num -> Sexplib.Sexp.tval num_of_sexp : Sexplib.Sexp.t -> Num.num