PreviousUpNext

14.2.10  Float

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
};


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext