background image

  typedef unsigned long uint4;

  typedef signed char int1;

  typedef signed short int2;

  typedef long int int4;

  typedef signed long sint31;

  typedef signed short sint15;

  typedef signed char sint7;

  3.得到指定地址上的一个字节或字

  #define MEM_B( x ) ( *( (byte *) (x) ) )

  #define MEM_W( x ) ( *( (word *) (x) ) )

  4.求最大值和最小值

  #define MAX( x  

, y ) ( ((x) > (y)) ? (x)   

: (y) )

  #define MIN( x  

, y ) ( ((x) < (y)) ? (x)   

: (y) )

  5.得到一个 field 在结构体(struct)中的偏移量

  #define FPOS( type  

, field ) \

  ( (dword) &(( type *) 0)-> field )

  6.得到一个结构体中 field 所占用的字节数

  #define FSIZ( type  

, field ) sizeof( ((type *) 0)->field )

  7.按照 LSB 格式把两个字节转化为一个 Word

  #define FLIPW( ray ) ( (((word) (ray)[0]) * 256) + (ray)[1] )

  8.按照 LSB 格式把一个 Word 转化为两个字节

  #define FLOPW( ray  

, val ) \