Data-SecsPack
view release on metacpan or search on metacpan
Data::SecsPack 0.02
Adding support for packing and unpacking floats and flushing out to
provide full support for packing and unpacking all SEMI E5-94 SECSII
numeric formats.
Data::SecsPack 0.03
There were the same test software failures and Unit Under Test (UUT)
failures for the following platforms:
Subject: FAIL Data-SecsPack-0.02 ppc-darwin-thread-multi 7.2.0
From: nothingmuch@woobling.org
perl5: (revision 5.0 version 8 subversion 3) configuration:
Platform: osname=darwin, osvers=7.2.0, archname=ppc-darwin-thread-multi
From: "Thurn, Martin" <martin.thurn@ngc.com>
Subject: FAIL Data-SecsPack-0.02 sun4-solaris-thread-multi 2.8
perl5: (revision 5.0 version 9 subversion 0)
Platform: osname=solaris, osvers=2.8, archname=sun4-solaris-thread-multi
The test software failures were caused by invalid data from the UUT
failure. The UUT failures caused non-numeric data for
"pass_fail_tolerance" in "SecsPackStress.t". Corrected
"pass_fail_tolerance" by detecting non-numeric data and returning a
failure. Failure of UUT "unpack_float" caused a "undef" passed to
"binary2hex". Corrected "binary2hex" by detecting and changing
"undef" to to "''".
There were two groups of UUT failures.
In the first group the test results were as the test results was two
member array of "Math::BigInt" number hash while the test was
expecting just two simple Perl numbers. The numbers in the
"Data::BigInt" hash were correct just in a different format. For
example,
t/Data/SecsPackStress....# Test 2 got: 'U1[1] 80
L[4]
A[0]
A[5] ARRAY
L[6]
A[12] Math::BigInt
A[4] HASH
A[4] sign
A[1] +
A[5] value
U1[1] 128
L[6]
A[12] Math::BigInt
A[4] HASH
A[4] sign
A[1] +
A[5] value
U1[1] 0
' (t/Data/SecsPackStress.t at line 184)
# Expected: 'U1[1] 80
U1[2] 128 0
'
The second group of failures the UUT "unpack_float" subroutine is
always returning a NaN. This subroutine heavily uses the native
floating point for calcuations and it appears to be limiting out
with "Not a Number" type error.
# Test 27 got: '0' (t/Data/SecsPackStress.t at line 396 fail #2)
# Expected: '1' (got: NaN, expected: -10.5
# actual tolerance: NaN, expected tolerance: 0.0001)
Check version of "Math::BigInt" in the ActiveState Perl 5.06
distribution to those on CPAN. ActiveState "Math::BigInt" was 0.01
while CPAN was 1.70. The difference between the two is night and
day. Install "Math::BigInt" 1.70. Tests fails the same as above.
Corrected all "Data::SecsPack" subroutines to use new features and
intefaces of "Math::BigInt" 1.70 including a load "die" if the
"Math::BitInt" version is not 1.70 or greater
Replaced as many native float operations as possible with many new
"Math::BigInt" subroutines in Version 1.70 as possible. Removed work
arounds for subroutines such as "rsft" do not not work completely in
1.0 but do in 1.70. The "unpack_float" subroutine does not depend
heavily on native float which comes in a different flavor for each
and every site. There may be exceptions to this statement but if
they are, they a few and far between.
Data::SecsPack 0.04
The anticipation was that there would be minor differences in
floating point numbers due to different native floating point
implementations. This concern did not materialize. In addition,
"Data::BigFloat" replaced all native floating points. Since floating
point differences are no longer anticipation, removed all tolerance
criteria from the test scripts. To pass the tests, the results will
now have to be exactly as expected.
Added the formats U8 and S8 to allowable formats for "unpack_int".
This was an oversight, a mistake.
Added the "ascii_float" option to the "str2float" subroutine. This
is a new feature.
Switch to "Data::Startup" for handling options.
Data::SecsPack 0.05
The "str2float" subroutine did not recognize 0 as a number. Added 0
to tests for "str2float".
Data::SecsPack 0.06
Changed the required version for "Math::BigFloat" from 1.40 to 1.39.
Somehow the perquisites have some mysterious behaviors.
Failure:
From: mhoyt@houston.rr.com
Subject: FAIL Tie-Layers-0.04 darwin-thread-multi-2level 7.0
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e"
"test_harness(0, 'blib/lib', 'blib/arch')" t/Tie/Layers.t
t/Tie/Layers....Math::BigFloat version 1.4 required--this is only
version 1.39
Documentation woes. The SEMI link does not work on. Changed to SEMI,
http://www.semi.org.
Moved the "str2int" and "str2float" subroutines to the
"Data::Str2Num" package. This allows the used of these subroutines
without include all of the E5 SEMI packing and unpacking of the
"Data::SecsPack" package. This isolate the problems of getting the
( run in 0.626 second using v1.01-cache-2.11-cpan-39bf76dae61 )