00001 #ifndef BIO_X_BIO
00002 #define BIO_X_BIO
00003 #include <math.h>
00004 #endif
00005
00006 #define X_BIO \
00007 X(0,s1,'b',int8_t,1,-1<<7,(s1_null != *(s1_t *) x) ,"%d") \
00008 X(1,u1,'B',uint8_t,1,1<<7,(u1_null != *(u1_t *) x) ,"%u") \
00009 X(2,s2,'h',int16_t,2,-1<<15,(s2_null != *(s2_t *) x),"%d") \
00010 X(3,u2,'H',uint16_t,2,1<<15,(u2_null != *(u2_t*) x ),"%u") \
00011 X(4,s4,'i',int32_t,4,-1<<31,(s4_null != *(s4_t*) x), "%d") \
00012 X(5,u4,'I',uint32_t,4,1<<31,(u4_null != *(u4_t*)x) , "%u") \
00013 X(6,s8,'l',int64_t,8,-1ll<<63,(s8_null != *(s8_t*)x), "%"PRId64) \
00014 X(7,u8,'L',uint64_t,8,1ull<<63,(u8_null != *(u8_t*) x),"%"PRIu64) \
00015 X(8,f4,'f',float,4,NAN, isnan(*(f4_t*)x) ,"%f") \
00016 X(9,f8,'d',double,8,NAN, isnan(*(f8_t*)x) ,"%f")
00017 #ifndef X_BIO_KEEP_X
00018 #undef X
00019 #endif