PreviousUpNext

15.3.552  src/lib/std/src/unt.api

## unt.api

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



###                 "Words are, of course, the most
###                  powerful drug used by mankind."
###
###                             -- Rudyard Kipling



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

    api Unt {
        #
        eqtype Unt;

        unt_size:  Int;

        to_large_unt:     Unt -> large_unt::Unt;
        to_large_unt_x:   Unt -> large_unt::Unt;
        from_large_unt:   large_unt::Unt -> Unt;

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

        to_int:     Unt -> Int;
        to_int_x:   Unt -> Int;
        from_int:   Int -> Unt;

        bitwise_or:   (Unt, Unt) -> Unt;
        bitwise_xor:  (Unt, Unt) -> Unt;
        bitwise_and:  (Unt, Unt) -> Unt;
        bitwise_not:  Unt -> Unt;

        <<  : (Unt, unt::Unt) -> Unt;
        >>  : (Unt, unt::Unt) -> Unt;
        >>> : (Unt, unt::Unt) -> Unt;

        + : (Unt, Unt) -> Unt;
        - : (Unt, Unt) -> Unt;
        * : (Unt, Unt) -> Unt;
        / : (Unt, Unt) -> Unt;
        % : (Unt, Unt) -> Unt;

        compare:  (Unt, Unt) -> Order;

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

        (-_):  Unt -> Unt;
         min:  (Unt, Unt) -> Unt;
         max:  (Unt, Unt) -> Unt;

        scan:   nst::Radix
                 -> nst::Reader (Char, X)
                 -> nst::Reader (Unt,  X);

        from_string:  String -> Null_Or( Unt );

        format:  nst::Radix -> Unt -> String;
        to_string:    Unt -> String;

    };
end;



## COPYRIGHT (c) 1995 AT&T Bell Laboratories.
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2013,
## released per terms of SMLNJ-COPYRIGHT.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext