PreviousUpNext

15.3.460  src/lib/std/src/int.api

## int.api

# Compiled by:
#     src/lib/std/src/standard-core.sublib


stipulate
    package mwi =  multiword_int;                               # multiword_int         is from   src/lib/std/types-only/basis-structs.pkg
herein

    api Int {
        #
        eqtype Int;

        precision:  Null_Or(  int::Int );
        min_int:    Null_Or(  Int );
        max_int:    Null_Or(  Int );

        to_multiword_int:    Int -> mwi::Int;
        from_multiword_int:  mwi::Int -> Int;

        to_int:      Int -> int::Int;
        from_int:    int::Int -> Int;

        (_!): Int -> Int;
        (-_): Int -> Int;
        neg : Int -> Int;
        +   : (Int, Int) -> Int;
        -   : (Int, Int) -> Int;
        *   : (Int, Int) -> Int;
        /   : (Int, Int) -> Int;
        %   : (Int, Int) -> Int;
        quot: (Int, Int) -> Int;
        rem:  (Int, Int) -> Int;

        min:  ((Int, Int)) -> Int;
        max:  ((Int, Int)) -> Int;

        abs:  Int -> Int;

        sign:      Int -> int::Int;
        same_sign:  ((Int, Int)) -> Bool;

        >  : (Int, Int) -> Bool;
        >= : (Int, Int) -> Bool;
        <  : (Int, Int) -> Bool;
        <= : (Int, Int) -> Bool;

        compare:  (Int, Int) -> Order;

        to_string:    Int -> String;
        from_string:  String -> Null_Or( Int );

        scan :
             number_string::Radix
             ->
             number_string::Reader (Char, X)
             ->
             number_string::Reader (Int, X);

        format:   number_string::Radix -> Int -> String;

        is_prime: Int -> Bool;
        factors:  Int -> List( Int );

        sum:      List( Int ) -> Int;
        product:  List( Int ) -> Int;
    };
end;



## COPYRIGHT (c) 1995 AT&T Bell Laboratories.
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2011,
## released under Gnu Public Licence version 3.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext