home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Carousel Volume 2 #1
/
carousel.iso
/
mactosh
/
unix
/
unix_dra.hqx
/
types.h
< prev
Wrap
C/C++ Source or Header
|
1987-02-14
|
636b
|
21 lines
/* a 32 (or more) bit integer (signed) */
typedef int i32;
/* macros to sign extend quantities that are less than 32 bits long */
/* Sun mishandles (int)(char)(constant) */
#ifndef sun
#define Sign8(n) ((int)(char)(n))
#else
#define Sign8(n) (((n) << 24) >> 24)
#endif
#define Sign16(n) ((int)(short)(n))
/* #define Sign24(n) ((n) & (1<<23) ? ((n)|0xff000000) : (n)) */
#define Sign24(n) (((n) << 8) >> 8)
/* macros to truncate quantites that are signed but shouldn't be */
#define UnSign8(n) ((n) & 0xff)
#define UnSign16(n) ((n) & 0xffff)
#define UnSign24(n) ((n) & 0xffffff)
/* note that we never have unsigned 32 bit integers */