Revision history for Perl extension Data::BitStream::XS.
0.04 17 May 2012
- get sub was using POPul -- should use either POPu or POPul/POPuq. Changed
to POPu and added a simple test. Data::BitStream has more extensive tests
that found this when testing the 'xs' implementation (this module) on LLP64
systems (generally 64-bit Perl on 32-bit O/S). This did not effect LP64
systems (generally 64-bit Perl on 64-bit O/S).
- Use Inline C when possible for image compression example.
- Add put_raw implementation.
- Unified internal stack code. A little faster.
- Add Generalized Fibonacci, Goldbach G1/G2, Comma, and Block Taboo codes.
- is_prime and next_prime are available for export if you want them for some
reason. They're quite fast, though other packages have some advantages
(e.g. Math::Primality is very slow for small numbers but can work with
GMP arbitrary size numbers, Math::Prime::XS is faster for generating a
range of primes, and Math::Prime::FastSieve should be better if you're
doing many operations over a finite range and have some memory).
0.03 23 Nov 2011
- Tracked down the LLP64 (32-bit long, 64-bit long long) issue down to using
an unsigned long in the .xs get_* macro. Fixed. After v0.02, pure 32-bit
and pure 64-bit systems would work, but 64-bit Perl on 32-bit O/S didn't.
It should work now.
- Allow Omega to encode 0 - ~0 instead of 0 - ~0-1. All codes are full range.
- Better use of const pointers.
- Code run through valgrind.
- More consistent error status.
- On code errors or reading off end of stream, position should remain
unchanged (if they trap the croak). Many codes have changes to make this
happen, and a new test is added to find a lot of these issues. It is not
complete.
- Added examples, mainly copied from Data::BitStream.
- New fheader() and new(fheader => ...) methods added to finish off the
compatibility with Data::BitStream in file I/O.
0.02 9 Nov 2011
- Fix tests on 5.6/5.8 that broke things at the last minute.
- Change // comments and mixed declarations to allow compilation with
old C compilers (--std=c89 --ansi -pedantic).
Variadic macros still being used however.
- Try to match word size with Perl word size. Hopefully will fix
issues with LLP64 model machines using 64-bit Perl.
0.01 Mon Nov 7 06:00:00 2011
- Initial version