


The standard library Float api defines access to core floating point arithmetic functionality.
The Float api is implemented by the float and float64 packages, both proxies for float64_guts from src/lib/std/src/float64-guts.pkg, and also by the large_float package.
The Float api source code is in src/lib/std/src/float.api.
The above information is manually maintained and may contain errors.
api { Float ;
package math : api {
Float ;
pi : Float;
e : Float;
sqrt : Float -> Float;
sin : Float -> Float;
cos : Float -> Float;
tan : Float -> Float;
asin : Float -> Float;
acos : Float -> Float;
exp : Float -> Float;
ln : Float -> Float;
log10 : Float -> Float;
sinh : Float -> Float;
cosh : Float -> Float;
tanh : Float -> Float;
atan : Float -> Float;
atan2 : (Float , Float) -> Float;
pow : (Float , Float) -> Float;
** : (Float , Float) -> Float;
};;
radix : Int;
precision : Int;
max_finite : Float;
min_pos : Float;
min_normal_pos : Float;
pos_inf : Float;
neg_inf : Float;
+ : (Float , Float) -> Float;
- : (Float , Float) -> Float;
* : (Float , Float) -> Float;
/ : (Float , Float) -> Float;
*+ : (Float , Float , Float) -> Float;
*- : (Float , Float , Float) -> Float;
-_ : Float -> Float;
abs : Float -> Float;
min : (Float , Float) -> Float;
max : (Float , Float) -> Float;
sign : Float -> Int;
sign_bit : Float -> Bool;
same_sign : (Float , Float) -> Bool;
copy_sign : (Float , Float) -> Float;
compare : (Float , Float) -> Order;
compare_real : (Float , Float) -> ieee_float::Real_Order;
< : (Float , Float) -> Bool;
<= : (Float , Float) -> Bool;
> : (Float , Float) -> Bool;
>= : (Float , Float) -> Bool;
==== : (Float , Float) -> Bool;
!= : (Float , Float) -> Bool;
?=== : (Float , Float) -> Bool;
unordered : (Float , Float) -> Bool;
is_finite : Float -> Bool;
is_nan : Float -> Bool;
is_normal : Float -> Bool;
ilk : Float -> ieee_float::Float_Ilk;
fmt : string_conversion::Realfmt -> Float -> String;
to_string : Float -> String;
from_string : String -> Null_Or(Float );
scan : string_conversion::Reader((Char, X) ) -> string_conversion::Reader((Float, X) );
to_mantissa_exponent : Float -> {exponent:Int, mantissa:Float};
from_mantissa_exponent : {exponent:Int, mantissa:Float} -> Float;
split : Float -> {frac:Float, whole:Float};
real_mod : Float -> Float;
rem : (Float , Float) -> Float;
next_after : (Float , Float) -> Float;
check_float : Float -> Float;
floor : Float -> Int;
ceil : Float -> Int;
trunc : Float -> Int;
round : Float -> Int;
real_floor : Float -> Float;
real_ceil : Float -> Float;
real_trunc : Float -> Float;
real_round : Float -> Float;
to_int : ieee_float::Rounding_Mode -> Float -> Int;
to_large_int : ieee_float::Rounding_Mode -> Float -> integer::Int;
from_int : Int -> Float;
from_large_int : integer::Int -> Float;
to_large : Float -> float64::Float;
from_large : ieee_float::Rounding_Mode -> float64::Float -> Float;
to_decimal : Float -> ieee_float::Decimal_Approx;
from_decimal : ieee_float::Decimal_Approx -> Float;
sharing math::Float = Float
};


