6 #include <exec/types.h>
12 // LSb style functions:
14 extern const ULONG bp_mask
[33];
16 ULONG
bitpack_read1_lsb (BitPack_buffer
*b
) {
18 if (b
->ptr
[0]&(1 << b
->endbit
))
29 ULONG
bitpack_read_lsb (BitPack_buffer
*b
, LONG bits
) {
34 ret
=b
->ptr
[0]>>b
->endbit
;
36 ret
|=b
->ptr
[1]<<(8-b
->endbit
);
38 ret
|=b
->ptr
[2]<<(16-b
->endbit
);
40 ret
|=b
->ptr
[3]<<(24-b
->endbit
);
42 ret
|=b
->ptr
[4]<<(32-b
->endbit
);
50 b
->endbyte
+=(bits
>> 3);
58 void bitpack_write1_lsb (BitPack_buffer
*b
, ULONG val
) {
60 b
->ptr
[0]|=(1 << b
->endbit
);
62 b
->ptr
[0]&=~(1 << b
->endbit
);
72 void bitpack_write_lsb (BitPack_buffer
*b
, ULONG val
, LONG bits
) {
76 b
->ptr
[0]|=val
<<b
->endbit
;
78 b
->ptr
[1]=val
>>(8-b
->endbit
);
80 b
->ptr
[2]=val
>>(16-b
->endbit
);
83 b
->ptr
[4]=val
>>(32-b
->endbit
);
90 b
->endbyte
+=(bits
>>3);
99 void bitpack_iobits_lsb (ExtBitPack_buffer
*b
, LONG bits
) {
102 ULONG
bitpack_fastread_lsb (ExtBitPack_buffer
*b
) {
107 void bitpack_fastwrite_lsb (ExtBitPack_buffer
*b
, ULONG val
) {