ut_BitTab.h File Reference

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.

Detailed Description

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 Documentation

#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.

Generated on Fri Apr 6 09:40:08 2012 for gCAD3D by  doxygen 1.6.3