home *** CD-ROM | disk | FTP | other *** search
/ Chip: Shareware for Win 95 / Chip-Shareware-Win95.bin / ostatni / powerj / java.z / I64.H < prev    next >
Encoding:
Text File  |  1996-04-09  |  1.4 KB  |  51 lines

  1. typedef unsigned        uint;
  2. typedef unsigned char    uint_8;
  3. typedef unsigned short    uint_16;
  4. typedef unsigned long    uint_32;
  5. typedef unsigned char    unsigned_8;
  6. typedef unsigned short    unsigned_16;
  7. typedef unsigned long    unsigned_32;
  8.  
  9. typedef signed char    int_8;
  10. typedef signed short    int_16;
  11. typedef signed long    int_32;
  12. typedef signed char    signed_8;
  13. typedef signed short    signed_16;
  14. typedef signed long    signed_32;
  15.  
  16. typedef struct {
  17.     union {
  18.     unsigned_32    _32[2];
  19.     unsigned_16    _16[4];
  20.     unsigned_8     _8[8];
  21.     struct {
  22.         unsigned        : 16;
  23.         unsigned        : 16;
  24.         unsigned        : 16;
  25.         unsigned        : 15;
  26.         unsigned    v    : 1;
  27.     }    sign;
  28.     } u;
  29. } unsigned_64;
  30. typedef unsigned_64    signed_64;
  31.  
  32. /* for little endian machines */
  33. #define I64LO32    0
  34. #define I64HI32    1
  35.  
  36. void I32ToI64( signed_32, signed_64 * );
  37. void U32ToU64( unsigned_32, unsigned_64 * );
  38.  
  39. void U64Neg( const unsigned_64 *a, unsigned_64 *res );
  40.  
  41. void U64Add( const unsigned_64 *a, const unsigned_64 *b, unsigned_64 *res );
  42. void U64Sub( const unsigned_64 *a, const unsigned_64 *b, unsigned_64 *res );
  43. void U64Mul( const unsigned_64 *a, const unsigned_64 *b, unsigned_64 *res );
  44. void U64Div( const unsigned_64 *a, const unsigned_64 *b,
  45.         unsigned_64 *div, unsigned_64 *rem );
  46.  
  47. int U64Cmp( const unsigned_64 *a, const unsigned_64 *b );
  48.  
  49. void U64Shift( const unsigned_64 *a, int shift, unsigned_64 *res );
  50.  
  51.