module directory has changed (eg. "darwin-2level" vs.
"darwin-thread-multi-2level").
binary packages of perl modules need to be distinguishable between
being built against threaded perl and unthreaded perl, so bump the
PKGREVISION of all perl module packages and introduce
BUILDLINK_RECOMMENDED for perl as perl>=5.8.5nb5 so the correct
dependencies are registered and the binary packages are distinct.
addresses PR pkg/28619 from H. Todd Fujinaka.
+ Added compiler directives for C++.
+ Improved the method "Norm()".
+ Removed "Carp::Clan" from the distribution (available separately).
+ Added "Bit::Vector::String" for generic string import/export functions.
+ Added a new test file "t/40__auxiliary.t" for "Bit::Vector::String".
+ Fixed a bug in method "Copy()" concerning sign (MSB) extension.
+ Added "Create_List()" and "GCD2()" in "BitVector.c".
+ "new()" now can optionally return a list of bit vectors.
+ "GCD()" now can optionally return the two integer factors
"x" and "y" for the linear combination of its input values
"a" and "b" so that gcd(a,b) = x * a + y * b.
+ Changed the test files "t/01________new.t" and "t/09_parameters.t"
as well as the documentation accordingly.
+ Added a new test file "t/17________gcd.t".
+ Further simplified the error handlers in "Vector.xs", making the
resulting object library file substantially smaller (about 20%!)
and thus faster to load.
+ Fixed missing "\" in regular expression in "t/00____version.t".
+ Overhauled the error handlers in "BitVector.c" and "Vector.xs".
+ Added a demo "examples/test.c" to play around with the C library.
+ Attempted to fix all compiler warnings.
+ Fixed a problem in test "t/01________new.t" with Perl using
64 bit integers; now contains "use integer;" to avoid failure.
+ Synchronized "Carp::Clan" and "ToolBox.h" with "Date::Calc" 5.2.
+ Revealed common method aliases (Or, And, etc.) in the documentation.
+ Fixed GCD(), now GCD(z,0) == GCD(0,z) == z and negative values
are handled correctly.
Changes since 5.8:
+ Added the module "Carp::Clan" to the distribution.
+ Splitted the Vector.pm module; separated XS and overloaded Perl
part for improved performance (reduces loading time for XS part).
+ Corrected the handling of numerical overflow in arithmetic methods
("add()", "subtract()", "Multiply()", "from_Dec()", "new_Dec()").
+ Methods "add()" and "subtract()" now return the carry as well as
the overflow flag if called in list context (only the carry in
scalar context, as before).
+ Added two new methods "inc()" and "dec()", which return the overflow
flag (whereas "increment()" and "decrement()" return the carry flag).
The new methods also allow to copy-and-increment/decrement in addition
to in-place operation.
+ Methods "from_Dec()" and "new_Dec()" now allow you to enter large
positive numbers which will have the MSB set (this was forbidden
previously because these numbers are considered to be negative in
two's complement binary representation).
and some bugfixes and compatibility changes.
The automatic truncation in gensolpkg doesn't work for packages which
have the same package name for the first 5-6 chars.
e.g. amanda-server and amanda-client would be named amanda and amanda.
Now, we add a SVR4_PKGNAME and use amacl for amanda-client and amase for
amanda-server.
All svr4 packages also have a vendor tag, so we have to reserve some chars
for this tag, which is normaly 3 or 4 chars. Thats why we can only use 6
or 5 chars for SVR4_PKGNAME. I used 5 for all the packages, to give the
vendor tag enough room.
All p5-* packages and a few other packages have now a SVR4_PKGNAME.
+ Changed "na" to "PL_na" in Vector.xs in order to make the module
ready for Perl 5.6.0.
+ Removed the error messages which appeared at global destruction
time with Perl 5.6.0.
+ Changed the corresponding test script (t/02____destroy.t) accordingly.
+ Optimized the "strEQ" away from the typemap section in Vector.xs.
+ Fixed the misspelled word "whether" in the documentation.
+ Added method "Power()".
+ Added overloaded operator "**" (for exponentiation).
+ Changed method "Copy()"; the two vectors do not need to have the same
size anymore. The method will copy as much as will fit or fill up
with 0's or 1's (depending on the sign of the source) if necessary.
+ Changed the corresponding test script (t/09_parameters.t) accordingly.
ones to do, and each compiled and installed/de-installed apparently
correctly.
As a side effect of the dynamic PLIST, we no longer need to have separate
-static and -shared PLISTs. It's now easier than ever to make a perl5
package for NetBSD :)
This module implements bit vectors of arbitrary size and provides
efficient methods for handling them. The module is intended to
serve as a base class for other applications or application classes,
such as implementing sets or performing big integer arithmetic.