Changeset 9036 in ntrip for branches/BNC_2.12/src/RTCM3/bits.h
- Timestamp:
- Aug 27, 2020, 9:36:18 AM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/BNC_2.12/src/RTCM3/bits.h
r6812 r9036 26 26 #define BITS_H 27 27 28 #define LOADBITS(a) \ 29 { \ 30 while((a) > numbits) \ 31 { \ 28 #define LOADBITS(a) { \ 29 while((a) > numbits) { \ 32 30 if(!size--) return false; \ 33 31 bitfield = (bitfield<<8)|*(data++); \ … … 38 36 /* extract bits from data stream 39 37 b = variable to store result, a = number of bits */ 40 #define GETBITS64(b, a) \ 41 { \ 42 if(((a) > 56) && ((a)-56) > numbits) \ 43 { \ 38 #define GETBITS64(b, a) { \ 39 if(((a) > 56) && ((a)-56) > numbits) { \ 44 40 uint64_t x; \ 45 41 GETBITS(x, 56) \ … … 49 45 numbits -= ((a)-56); \ 50 46 } \ 51 else \ 52 { \ 47 else { \ 53 48 GETBITS(b, a) \ 54 49 } \ … … 57 52 /* extract bits from data stream 58 53 b = variable to store result, a = number of bits */ 59 #define GETBITS(b, a) \ 60 { \ 54 #define GETBITS(b, a) { \ 61 55 LOADBITS(a) \ 62 56 b = (bitfield<<(64-numbits))>>(64-(a)); \ … … 66 60 /* extract bits from data stream 67 61 b = variable to store result, a = number of bits */ 68 #define GETBITSFACTOR(b, a, c) \ 69 { \ 62 #define GETBITSFACTOR(b, a, c) { \ 70 63 LOADBITS(a) \ 71 64 b = ((bitfield<<(sizeof(bitfield)*8-numbits))>>(sizeof(bitfield)*8-(a)))*(c); \ … … 75 68 /* extract floating value from data stream 76 69 b = variable to store result, a = number of bits */ 77 #define GETFLOAT(b, a, c) \ 78 { \ 70 #define GETFLOAT(b, a, c) { \ 79 71 LOADBITS(a) \ 80 72 b = ((double)((bitfield<<(64-numbits))>>(64-(a))))*(c); \ … … 84 76 /* extract signed floating value from data stream 85 77 b = variable to store result, a = number of bits */ 86 #define GETFLOATSIGN(b, a, c) \ 87 { \ 78 #define GETFLOATSIGN(b, a, c) { \ 88 79 LOADBITS(a) \ 89 80 b = ((double)(((int64_t)(bitfield<<(64-numbits)))>>(64-(a))))*(c); \ … … 93 84 /* extract bits from data stream 94 85 b = variable to store result, a = number of bits */ 95 #define GETBITSSIGN(b, a) \ 96 { \ 86 #define GETBITSSIGN(b, a) { \ 97 87 LOADBITS(a) \ 98 88 b = ((int64_t)(bitfield<<(64-numbits)))>>(64-(a)); \ … … 100 90 } 101 91 102 #define GETFLOATSIGNM(b, a, c) \103 {int l; \92 #define GETFLOATSIGNM(b, a, c) { \ 93 int l; \ 104 94 LOADBITS(a) \ 105 95 l = (bitfield<<(64-numbits))>>(64-1); \ … … 113 103 /* extract byte-aligned byte from data stream, 114 104 b = variable to store size, s = variable to store string pointer */ 115 #define GETSTRING(b, s) \ 116 { \ 105 #define GETSTRING(b, s) { \ 117 106 b = *(data++); \ 118 107 s = (char *) data; \
Note:
See TracChangeset
for help on using the changeset viewer.