chromatic wrote:
On Friday 28 March 2008 11:55:30 James Keenan via RT wrote:

Am confused.  What diagnostic output beyond 'prove -v' are you referring
to?

For example...

        t/op/arithmetics....1..26
        ok 1 - take the negative of a native integer
        ok 2 - take the absolute of a native integer
        ok 3 - add native integer to native integer
        ok 4 - subtract native integer from native integer
        ok 5 - multiply native integer with native integer
        ok 6 - divide native integer by native integer
        not ok 7 - turn a native number into its negative

        ... diagnostic output missing right here...

        ok 8 - take the absolute of a native number

The test expected the output:

        -0.000000
        0.000000
        -123.456789
        123.456789
        -0.000000
        0.000000
        -123.456789
        123.456789

Obviously it received something else.  What did it receive?

As far as I know, Visual C++ is a bit shaky on the arithmetic side with regards to +/- 0.0. For example, the constant C<-0.0> is turned into C<0.0>. One has to revert to hacks like C<-1.0 * 0.0>, if I recall correctly.

t/op/arithmetics.t
not ok 7 - turn a native number into its negative
#   Failed test 'turn a native number into its negative'
#   at t\op\arithmetics.t line 210.
#          got: '0.000000
# 0.000000
# -123.456789
# 123.456789
# 0.000000
# 0.000000
# -123.456789
# 123.456789
# '
#     expected: '-0.000000
# 0.000000
# -123.456789
# 123.456789
# -0.000000
# 0.000000
# -123.456789
# 123.456789
# '

t/op/sprintf.t
not ok 157 - [%.0g] C99 standard mandates minus sign but C89 does not skip: MSWin32 VMS hpux:10.20 openbsd netbsd:1.5 irix actual: >0<

t/pmc/complex.t
not ok 48 - sinh of complex numbers
#   Failed test 'sinh of complex numbers'
#   at t\pmc\complex.t line 1647.
#          got: '
# sinh(0-2i)
#               got     0.000000-0.909297i
#               not     -0.000000-0.909297i
#
# sinh(0+2i)
#               got     0.000000+0.909297i
#               not     -0.000000+0.909297i
# done
# '
#     expected: 'done
# '

t/pmc/float.t
not ok 23 - neg 0
#   Failed test 'neg 0'
#   at t\pmc\float.t line 547.
#                   '0'
#     doesn't match '/^-0/
# '

Ron

Reply via email to