logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Stdlib.Float - no description

Documentation

       Module Float
        : (moduleStdlib__Float)valzero : float

       The floating point 0.

       Since 4.08

       valone : float

       The floating-point 1.

       Since 4.08

       valminus_one : float

       The floating-point -1.

       Since 4.08

       valneg : float->float

       Unary negation.

       valadd : float->float->float

       Floating-point addition.

       valsub : float->float->float

       Floating-point subtraction.

       valmul : float->float->float

       Floating-point multiplication.

       valdiv : float->float->float

       Floating-point division.

       valfma : float->float->float->floatfmaxyz returns x*y+z , with a best effort for computing this expression with a single rounding,
       using either hardware instructions (providing full IEEE compliance) or a software emulation.

       On 64-bit Cygwin, 64-bit mingw-w64 and MSVC 2017 and earlier, this function  may  be  emulated  owing  to
       known  bugs on limitations on these platforms.  Note: since software emulation of the fma is costly, make
       sure that you are using hardware fma support if performance matters.

       Since 4.08

       valrem : float->float->floatremab returns the remainder of a with respect to b .  The returned value is a-.n*.b ,  where  n  is
       the quotient a/.b rounded towards zero to an integer.

       valsucc : float->floatsuccx  returns the floating point number right after x i.e., the smallest floating-point number greater
       than x .  See also Float.next_after .

       Since 4.08

       valpred : float->floatpredx returns the floating-point number right before x i.e., the greatest floating-point number  smaller
       than x .  See also Float.next_after .

       Since 4.08

       valabs : float->floatabsf returns the absolute value of f .

       valinfinity : float

       Positive infinity.

       valneg_infinity : float

       Negative infinity.

       valnan : float

       A special floating-point value denoting the result of an undefined operation such as 0.0/.0.0 .  Stands
       for  'not  a  number'.   Any  floating-point operation with nan as argument returns nan as result, unless
       otherwise specified in IEEE 754 standard.  As for floating-point comparisons, = , <  ,  <=  ,  >  and  >=
       return false and <> returns true if one or both of their arguments is nan .

       nan is quiet_nan since 5.1; it was a signaling NaN before.

       valsignaling_nan : float

       Signaling  NaN.  The  corresponding signals do not raise OCaml exception, but the value can be useful for
       interoperability with C libraries.

       Since 5.1

       valquiet_nan : float

       Quiet NaN.

       Since 5.1

       valpi : float

       The constant pi.

       valmax_float : float

       The largest positive finite value of type float .

       valmin_float : float

       The smallest positive, non-zero, non-denormalized value of type float .

       valepsilon : float

       The difference between 1.0 and the smallest exactly representable floating-point number greater than  1.0
       .

       valis_finite : float->boolis_finitex is true if and only if x is finite i.e., not infinite and not Float.nan .

       Since 4.08

       valis_infinite : float->boolis_infinitex is true if and only if x is Float.infinity or Float.neg_infinity .

       Since 4.08

       valis_nan : float->boolis_nanx is true if and only if x is not a number (see Float.nan ).

       Since 4.08

       valis_integer : float->boolis_integerx is true if and only if x is an integer.

       Since 4.08

       valof_int : int->float

       Convert an integer to floating-point.

       valto_int : float->int

       Truncate the given floating-point number to an integer.  The result is unspecified if the argument is nan
       or falls outside the range of representable integers.

       valof_string : string->float

       Convert  the  given  string  to  a  float.   The string is read in decimal (by default) or in hexadecimal
       (marked by 0x or 0X ).  The format of decimal floating-point numbers is [-]dd.ddd(e|E)[+|-]dd , where
       d stands for a decimal digit.  The format of hexadecimal floating-point  numbers  is  [-]0(x|X)hh.hhh(p|P)[+|-]dd  , where h stands for an hexadecimal digit and d for a decimal digit.  In both cases, at
       least one of the integer and fractional parts must be given;  the  exponent  part  is  optional.   The  _
       (underscore)  character  can  appear  anywhere  in the string and is ignored.  Depending on the execution
       platforms, other representations of floating-point numbers can be accepted,  but  should  not  be  relied
       upon.

       RaisesFailure if the given string is not a valid representation of a float.

       valof_string_opt : string->floatoption

       Same as of_string , but returns None instead of raising.

       valto_string : float->string

       Return a string representation of a floating-point number.

       This  conversion can involve a loss of precision. For greater control over the manner in which the number
       is printed, see Printf .

       This function is an alias for string_of_float .

       typefpclass = fpclass =
        | FP_normal  (* Normal number, none of the below
        *)
        | FP_subnormal  (* Number very close to 0.0, has reduced precision
        *)
        | FP_zero  (* Number is 0.0 or -0.0
        *)
        | FP_infinite  (* Number is positive or negative infinity
        *)
        | FP_nan  (* Not a number: result of an undefined operation
        *)

       The five classes of floating-point numbers, as determined by the Float.classify_float function.

       valclassify_float : float->fpclass

       Return the class of the given floating-point number: normal, subnormal, zero, infinite, or not a number.

       valpow : float->float->float

       Exponentiation.

       valsqrt : float->float

       Square root.

       valcbrt : float->float

       Cube root.

       Since 4.13

       valexp : float->float

       Exponential.

       valexp2 : float->float

       Base 2 exponential function.

       Since 4.13

       vallog : float->float

       Natural logarithm.

       vallog10 : float->float

       Base 10 logarithm.

       vallog2 : float->float

       Base 2 logarithm.

       Since 4.13

       valexpm1 : float->floatexpm1x computes expx-.1.0 , giving numerically-accurate results even if x is close to 0.0 .

       vallog1p : float->floatlog1px computes log(1.0+.x) (natural logarithm), giving numerically-accurate  results  even  if  x  is
       close to 0.0 .

       valcos : float->float

       Cosine.  Argument is in radians.

       valsin : float->float

       Sine.  Argument is in radians.

       valtan : float->float

       Tangent.  Argument is in radians.

       valacos : float->float

       Arc  cosine.   The argument must fall within the range [-1.0,1.0] .  Result is in radians and is between
       0.0 and pi .

       valasin : float->float

       Arc sine.  The argument must fall within the range [-1.0,1.0] .  Result is in  radians  and  is  between
       -pi/2 and pi/2 .

       valatan : float->float

       Arc tangent.  Result is in radians and is between -pi/2 and pi/2 .

       valatan2 : float->float->floatatan2yx returns the arc tangent of y/.x .  The signs of x and y are used to determine the quadrant of
       the result.  Result is in radians and is between -pi and pi .

       valhypot : float->float->floathypotxy  returns  sqrt(x*.x+.y*.y) , that is, the length of the hypotenuse of a right-angled
       triangle with sides of length x and y , or, equivalently, the distance of the point (x,y) to origin.   If
       one of x or y is infinite, returns infinity even if the other is nan .

       valcosh : float->float

       Hyperbolic cosine.  Argument is in radians.

       valsinh : float->float

       Hyperbolic sine.  Argument is in radians.

       valtanh : float->float

       Hyperbolic tangent.  Argument is in radians.

       valacosh : float->float

       Hyperbolic arc cosine.  The argument must fall within the range [1.0,inf] .  Result is in radians and is
       between 0.0 and inf .

       Since 4.13

       valasinh : float->float

       Hyperbolic arc sine.  The argument and result range over the entire real line.  Result is in radians.

       Since 4.13

       valatanh : float->float

       Hyperbolic  arc tangent.  The argument must fall within the range [-1.0,1.0] .  Result is in radians and
       ranges over the entire real line.

       Since 4.13

       valerf : float->float

       Error function.  The argument ranges over the entire real line.  The result is always within [-1.0,1.0]
       .

       Since 4.13

       valerfc : float->float

       Complementary error function ( erfcx=1-erfx ).  The argument ranges over the entire real line.  The
       result is always within [0.0,2.0] .

       Since 4.13

       valtrunc : float->floattruncx rounds x to the nearest integer whose absolute value is less than or equal to x .

       Since 4.08

       valround : float->floatroundx  rounds  x  to  the nearest integer with ties (fractional values of 0.5) rounded away from zero,
       regardless of the current rounding direction.  If x is an integer, +0.  , -0.  , nan  ,  or  infinite,  x
       itself is returned.

       On  64-bit mingw-w64, this function may be emulated owing to a bug in the C runtime library (CRT) on this
       platform.

       Since 4.08

       valceil : float->float

       Round above to an integer value.  ceilf returns the least integer value greater than or  equal  to  f  .
       The result is returned as a float.

       valfloor : float->float

       Round  below  to  an integer value.  floorf returns the greatest integer value less than or equal to f .
       The result is returned as a float.

       valnext_after : float->float->floatnext_afterxy returns the next representable floating-point value following x in the direction  of  y  .
       More  precisely,  if  y  is  greater  (resp.  less)  than  x  ,  it  returns the smallest (resp. largest)
       representable number greater (resp. less) than x .  If x equals y , the function returns y .  If x  or  y
       is  nan  ,  a nan is returned.  Note that next_aftermax_floatinfinity=infinity and that next_after0.infinity is the smallest denormalized positive number.   If  x  is  the  smallest  denormalized  positive
       number, next_afterx0.=0.Since 4.08

       valcopy_sign : float->float->floatcopy_signxy  returns a float whose absolute value is that of x and whose sign is that of y .  If x is
       nan , returns nan .  If y is nan , returns either x or -.x , but it is not specified which.

       valsign_bit : float->boolsign_bitx is true if and only if the sign bit of x is set.  For example sign_bit1.  and signbit0.  are
       false while sign_bit(-1.)  and sign_bit(-0.)  are true .

       Since 4.08

       valfrexp : float->float*intfrexpf returns the pair of the significant and the exponent of f .  When f is zero,  the  significant  x
       and  the  exponent n of f are equal to zero.  When f is non-zero, they are defined by f=x*.2**n and
       0.5<=x<1.0 .

       valldexp : float->int->floatldexpxn returns x*.2**n .

       valmodf : float->float*floatmodff returns the pair of the fractional and integral part of f .

       typet = float

       An alias for the type of floating-point numbers.

       valcompare : t->t->intcomparexy returns 0 if x is equal to y , a negative integer if x is  less  than  y  ,  and  a  positive
       integer  if  x  is  greater than y .  compare treats nan as equal to itself and less than any other float
       value.  This treatment of nan ensures that compare defines a total ordering relation.

       valequal : t->t->bool

       The equal function for floating-point numbers, compared using Float.compare .

       valmin : t->t->tminxy returns the minimum of x and y .  It returns nan when x or y is nan .  Moreover min(-0.)(+0.)=-0.Since 4.08

       valmax : float->float->floatmaxxy returns the maximum of x and y .  It returns nan when x or y is nan .  Moreover max(-0.)(+0.)=+0.Since 4.08

       valmin_max : float->float->float*floatmin_maxxy is (minxy,maxxy) , just more efficient.

       Since 4.08

       valmin_num : t->t->tmin_numxy returns the minimum of x and y treating nan as missing values.  If both x and y are nan , nan
       is returned.  Moreover min_num(-0.)(+0.)=-0.Since 4.08

       valmax_num : t->t->tmax_numxy returns the maximum of x and y treating nan as missing values.  If both x and y are  nannan
       is returned.  Moreover max_num(-0.)(+0.)=+0.Since 4.08

       valmin_max_num : float->float->float*floatmin_max_numxy is (min_numxy,max_numxy) , just more efficient.  Note that in particular min_max_numxnan=(x,x) and min_max_numnany=(y,y) .

       Since 4.08

       valseeded_hash : int->t->int

       A  seeded  hash  function  for  floats, with the same output value as Hashtbl.seeded_hash . This function
       allows this module to be passed as argument to the functor Hashtbl.MakeSeeded .

       Since 5.1

       valhash : t->int

       An unseeded hash function for floats, with the same output value as Hashtbl.hash . This  function  allows
       this module to be passed as argument to the functor Hashtbl.Make .

       moduleArray:sigend

       Float arrays with packed representation.

       moduleArrayLabels:sigend

       Float arrays with packed representation (labeled functions).

OCamldoc                                           2025-06-12                                   Stdlib.Float(3o)

Module

       Module   Stdlib.Float

Name

       Stdlib.Float - no description

See Also