Data-SecsPack

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN


    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 )