home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ARM Club 3
/
TheARMClub_PDCD3.iso
/
hensa
/
programming
/
libg_
/
libgpp
/
!libgpp
/
Integer_hP
< prev
Wrap
Text File
|
1993-11-03
|
902b
|
31 lines
// Stuff used to implement the Integer class.
// WARNING: Its internals WILL change!
/*
Sizes of shifts for multiple-precision arithmetic.
These should not be changed unless Integer representation
as unsigned shorts is changed in the implementation files.
*/
#define I_SHIFT (sizeof(short) * CHAR_BIT)
#define I_RADIX ((unsigned long)(1L << I_SHIFT))
#define I_MAXNUM ((unsigned long)((I_RADIX - 1)))
#define I_MINNUM ((unsigned long)(I_RADIX >> 1))
#define I_POSITIVE 1
#define I_NEGATIVE 0
/* All routines assume SHORT_PER_LONG > 1 */
#define SHORT_PER_LONG ((unsigned)(((sizeof(long) + sizeof(short) - 1) / sizeof(short))))
#define CHAR_PER_LONG ((unsigned)sizeof(long))
/*
minimum and maximum sizes for an IntRep
*/
#define MINIntRep_SIZE 16
#define MAXIntRep_SIZE I_MAXNUM
#ifndef MALLOC_MIN_OVERHEAD
#define MALLOC_MIN_OVERHEAD 4
#endif