PreviousUpNext

14.2.11  Float

The standard library Float api defines access to core floating point arithmetic functionality.

The Float api is implemented by the eight_byte_float,a proxy for eight_byte_float_guts from src/lib/std/src/eight-byte-float-guts.pkg.

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;
    format : number_string::Float_Format -> Float -> String;
    scan : number_string::Reader((Char, X) ) -> number_string::Reader((Float, X) );
    to_string : Float -> String;
    from_string : String -> Null_Or(Float );
    to_mantissa_exponent : Float -> {exponent:Int,  mantissa:Float};
    from_mantissa_exponent : {exponent:Int,  mantissa:Float} -> Float;
    split : Float -> {frac:Float,  whole:Float};
    float_mod : Float -> Float;
    rem : (Float , Float) -> Float;
    next_after : (Float , Float) -> Float;
    check_float : Float -> Float;
    floor : Float -> Int;
    ceil : Float -> Int;
    truncate : Float -> Int;
    round : Float -> Int;
    float_floor : Float -> Float;
    float_ceil : Float -> Float;
    float_truncate : Float -> Float;
    float_round : Float -> Float;
    to_int : ieee_float::Rounding_Mode -> Float -> Int;
    to_multiword_int : ieee_float::Rounding_Mode -> Float -> multiword_int::Int;
    from_int : Int -> Float;
    from_multiword_int : multiword_int::Int -> Float;
    to_eight_byte_float : Float -> ?.float64::Float;
    from_eight_byte_float : 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
};


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext