2 |
- |
1 |
/*
|
|
|
2 |
* integer conversion routines
|
|
|
3 |
*/
|
|
|
4 |
#define U8GET(p) ((p)[0])
|
|
|
5 |
#define U16GET(p) (((p)[0]<<8)|(p)[1])
|
|
|
6 |
#define U32GET(p) ((u32int)(((p)[0]<<24)|((p)[1]<<16)|((p)[2]<<8)|(p)[3]))
|
|
|
7 |
#define U48GET(p) (((vlong)U16GET(p)<<32)|(vlong)U32GET((p)+2))
|
|
|
8 |
#define U64GET(p) (((vlong)U32GET(p)<<32)|(vlong)U32GET((p)+4))
|
|
|
9 |
|
|
|
10 |
#define U8PUT(p,v) (p)[0]=(v)
|
|
|
11 |
#define U16PUT(p,v) (p)[0]=(v)>>8;(p)[1]=(v)
|
|
|
12 |
#define U32PUT(p,v) (p)[0]=(v)>>24;(p)[1]=(v)>>16;(p)[2]=(v)>>8;(p)[3]=(v)
|
|
|
13 |
#define U48PUT(p,v,t32) t32=(v)>>32;U16PUT(p,t32);t32=(v);U32PUT((p)+2,t32)
|
|
|
14 |
#define U64PUT(p,v,t32) t32=(v)>>32;U32PUT(p,t32);t32=(v);U32PUT((p)+4,t32)
|
|
|
15 |
|