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 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;
    sum : List(Float ) -> Float;
    product : List(Float ) -> Float;
    mean : List(Float ) -> Float;
    median : List(Float ) -> Float;
    list_min : List(Float ) -> Float;
    list_max : List(Float ) -> Float;
    sort : List(Float ) -> List(Float );
    sort_and_drop_duplicates : List(Float ) -> List(Float );
sharing math::Float = Float};


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext