Bit-array-functions .. BitTab_. More...
Go to the source code of this file.
Defines | |
| #define | BitTab(bt, siz) unsigned char bt[(siz >> 3) + 1] |
| define bitArray; bt = arrayName; siz = number of bits. | |
| #define | BitTab_ini0(bt) memset(bt,'\0',sizeof(bt)) |
| init bitArray. Fill bitArray with zeros. | |
| #define | BitTab_ini1(bt) memset(bt,255,sizeof(bt)) |
| init bitArray. Fill bitArray with 1. | |
| #define | BitTab_set(bt, ii) (bt[ii >> 3] |= 1 << ii % 8) |
| set bit. bt = arrayName; bitnr = ii. | |
| #define | BitTab_get(bt, ii) (bt[ii >> 3] & 1 << ii % 8) |
| read bit. bt = arrayName; bitnr = ii. RetVal: 0 = not_set; else set. | |
| #define | BitTab_clr(bt, ii) bt[ii >> 3] &= ~(1 << ii % 8) |
| clear bit (reset bit). bt = arrayName; bitnr = ii. | |
| #define | BitTab_cpy(bt2, bt1) memcpy (bt2, bt1, sizeof(bt1)) |
| copy bitArray. (bt2 = bt1) | |
| #define | BitTab_dump(bt) {int i1; for(i1=0; i1<sizeof(bt); ++i1) printf("%d ",bt[i1]); printf("\n");} |
| #define | BitTab_test1(bt1) printf("BitTab size=%d\n",sizeof(bt1)); |
| TEST ONLY. | |
Bit-array-functions .. BitTab_.
Functions for bit-arrays ===================================================== Liste_Funktionen_Beginn: BitTab define bitarray BitTab_ini0 init all bits to value 0 BitTab_ini1 init all bits to value 1 BitTab_set set bit BitTab_get get bit BitTab_clr reset (clear) bit BitTab_dump Liste_Funktionen_Ende: ===================================================== Example: #include "../ut/ut_BitTab.h" // bit-arrays BitTab (ba,256); // define array of 256 bits; creates "char bt[32];" BitTab_ini0 (ba); // init all bits to value 0; BitTab_set (ba,20); // set bit nr 20 i1 = BitTab_get (ba,20); // test bit nr 20; returns != 0 (is set; 0=not set). BitTab_clr (ba,20); // reset (clear) bit nr 20.
| #define BitTab | ( | bt, | |||
| siz | ) | unsigned char bt[(siz >> 3) + 1] |
define bitArray; bt = arrayName; siz = number of bits.
| #define BitTab_ini0 | ( | bt | ) | memset(bt,'\0',sizeof(bt)) |
init bitArray. Fill bitArray with zeros.
| #define BitTab_ini1 | ( | bt | ) | memset(bt,255,sizeof(bt)) |
init bitArray. Fill bitArray with 1.
| #define BitTab_set | ( | bt, | |||
| ii | ) | (bt[ii >> 3] |= 1 << ii % 8) |
set bit. bt = arrayName; bitnr = ii.
| #define BitTab_get | ( | bt, | |||
| ii | ) | (bt[ii >> 3] & 1 << ii % 8) |
read bit. bt = arrayName; bitnr = ii. RetVal: 0 = not_set; else set.
| #define BitTab_clr | ( | bt, | |||
| ii | ) | bt[ii >> 3] &= ~(1 << ii % 8) |
clear bit (reset bit). bt = arrayName; bitnr = ii.
| #define BitTab_cpy | ( | bt2, | |||
| bt1 | ) | memcpy (bt2, bt1, sizeof(bt1)) |
copy bitArray. (bt2 = bt1)
| #define BitTab_dump | ( | bt | ) | {int i1; for(i1=0; i1<sizeof(bt); ++i1) printf("%d ",bt[i1]); printf("\n");} |
| #define BitTab_test1 | ( | bt1 | ) | printf("BitTab size=%d\n",sizeof(bt1)); |
TEST ONLY.
1.6.3