home *** CD-ROM | disk | FTP | other *** search
- typedef unsigned uint;
- typedef unsigned char uint_8;
- typedef unsigned short uint_16;
- typedef unsigned long uint_32;
- typedef unsigned char unsigned_8;
- typedef unsigned short unsigned_16;
- typedef unsigned long unsigned_32;
-
- typedef signed char int_8;
- typedef signed short int_16;
- typedef signed long int_32;
- typedef signed char signed_8;
- typedef signed short signed_16;
- typedef signed long signed_32;
-
- typedef struct {
- union {
- unsigned_32 _32[2];
- unsigned_16 _16[4];
- unsigned_8 _8[8];
- struct {
- unsigned : 16;
- unsigned : 16;
- unsigned : 16;
- unsigned : 15;
- unsigned v : 1;
- } sign;
- } u;
- } unsigned_64;
- typedef unsigned_64 signed_64;
-
- /* for little endian machines */
- #define I64LO32 0
- #define I64HI32 1
-
- void I32ToI64( signed_32, signed_64 * );
- void U32ToU64( unsigned_32, unsigned_64 * );
-
- void U64Neg( const unsigned_64 *a, unsigned_64 *res );
-
- void U64Add( const unsigned_64 *a, const unsigned_64 *b, unsigned_64 *res );
- void U64Sub( const unsigned_64 *a, const unsigned_64 *b, unsigned_64 *res );
- void U64Mul( const unsigned_64 *a, const unsigned_64 *b, unsigned_64 *res );
- void U64Div( const unsigned_64 *a, const unsigned_64 *b,
- unsigned_64 *div, unsigned_64 *rem );
-
- int U64Cmp( const unsigned_64 *a, const unsigned_64 *b );
-
- void U64Shift( const unsigned_64 *a, int shift, unsigned_64 *res );
-
-