diff options
Diffstat (limited to 'baseline/source/ammunition/bits.h')
| -rw-r--r-- | baseline/source/ammunition/bits.h | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/baseline/source/ammunition/bits.h b/baseline/source/ammunition/bits.h deleted file mode 100644 index 70cf8bd..0000000 --- a/baseline/source/ammunition/bits.h +++ /dev/null | |||
| @@ -1,60 +0,0 @@ | |||
| 1 | /* | ||
| 2 | FILE NAME: bits.h | ||
| 3 | |||
| 4 | TITLE: Include file of package for work with bits | ||
| 5 | |||
| 6 | DESCRIPTION: | ||
| 7 | This is header file contains macros and the ANSI C prototype | ||
| 8 | definitions for the package for work with bits and bit strings | ||
| 9 | and C++ class for work with bits and bit strings. A bit is | ||
| 10 | given by address (start address) of byte from which counting | ||
| 11 | bits starts and its displacement which is any non negative | ||
| 12 | number of bit from the start address. The most significant bit | ||
| 13 | of the start address byte has number 0. The bit string is | ||
| 14 | given by its first bit and its length in bits. | ||
| 15 | |||
| 16 | */ | ||
| 17 | |||
| 18 | #ifndef __BITS__ | ||
| 19 | #define __BITS__ | ||
| 20 | |||
| 21 | #include "ammunition_limits.h" | ||
| 22 | |||
| 23 | /* This macro value returns bit vlaue (0 or 1) with given bit | ||
| 24 | displacement (0, 1, ...). The macro has side effects! Value of | ||
| 25 | `bit_displacement' must be nonegative and can be greater than | ||
| 26 | CHAR_BIT. */ | ||
| 27 | |||
| 28 | #define BIT(start_byte, bit_displacement)\ | ||
| 29 | ((((const char *) (start_byte)) [(bit_displacement) / CHAR_BIT]\ | ||
| 30 | >> (CHAR_BIT - 1 - (bit_displacement) % CHAR_BIT)) & 1) | ||
| 31 | |||
| 32 | |||
| 33 | /* This macro value sets up new value (must be `0' or `1') of a given | ||
| 34 | bit (bit displacement starts with 0). The macro has side effects! | ||
| 35 | Value of `bit_displacement' must be nonegative and can be greater | ||
| 36 | than CHAR_BIT. */ | ||
| 37 | |||
| 38 | #define SET_BIT(start_byte, bit_displacement, bit)\ | ||
| 39 | (((char *) (start_byte)) [(bit_displacement) / CHAR_BIT]\ | ||
| 40 | = (((char *) (start_byte)) [(bit_displacement) / CHAR_BIT]\ | ||
| 41 | & ~(1 << (CHAR_BIT - 1 - (bit_displacement) % CHAR_BIT)))\ | ||
| 42 | | ((bit) << (CHAR_BIT - 1 - (bit_displacement) % CHAR_BIT))) | ||
| 43 | |||
| 44 | int ammunition_is_zero_bit_string ( const void *start_byte, | ||
| 45 | int bit_displacement, | ||
| 46 | int bit_length ); | ||
| 47 | void ammunition_bit_string_set ( void *start_byte, int bit_displacement, | ||
| 48 | int bit, | ||
| 49 | int bit_length ); | ||
| 50 | void ammunition_bit_string_copy ( void *to, int to_bit_displacement, | ||
| 51 | const void *from, int from_bit_displacement, | ||
| 52 | int bit_length ); | ||
| 53 | void ammunition_bit_string_move ( void *to, int to_bit_displacement, | ||
| 54 | const void *from, int from_bit_displacement, | ||
| 55 | int bit_length ); | ||
| 56 | int ammunition_bit_string_comparison ( const void *str1, int bit_displacement1, | ||
| 57 | const void *str2, int bit_displacement2, | ||
| 58 | int bit_length ); | ||
| 59 | |||
| 60 | #endif /* #ifndef __BITS__ */ | ||
