Skip to content

tgamma and y{0,1,n} test failures #24

@staticfloat

Description

@staticfloat

These 18 test failures occur on both OSX and Linux in test-double:

$ ./test-double                                                                                              
testing double (without inline functions)
Failure: tgamma (0) == NaN plus invalid exception: Exception "Divide by zero" set
Failure: tgamma (0) == NaN plus invalid exception: Exception "Invalid operation" not set
Failure: Test: tgamma (0) == NaN plus invalid exception
Result:
 is:          inf   inf
 should be:  -nan  -nan
Failure: tgamma (-0) == NaN plus invalid exception: Exception "Divide by zero" set
Failure: tgamma (-0) == NaN plus invalid exception: Exception "Invalid operation" not set
Failure: Test: tgamma (-0) == NaN plus invalid exception
Result:
 is:         -inf  -inf
 should be:  -nan  -nan
Failure: y0 (-1.0) == -inf: Exception "Invalid operation" set
Failure: Test: y0 (-1.0) == -inf
Result:
 is:         -nan  -nan
 should be:  -inf  -inf
Failure: y0 (0.0) == -inf: Exception "Divide by zero" set
Failure: y1 (-1.0) == -inf: Exception "Invalid operation" set
Failure: Test: y1 (-1.0) == -inf
Result:
 is:         -nan  -nan
 should be:  -inf  -inf
Failure: y1 (0.0) == -inf: Exception "Divide by zero" set
Failure: yn (0, -1.0) == -inf: Exception "Invalid operation" set
Failure: Test: yn (0, -1.0) == -inf
Result:
 is:         -nan  -nan
 should be:  -inf  -inf
Failure: yn (0, 0.0) == -inf: Exception "Divide by zero" set
Failure: yn (1, -1.0) == -inf: Exception "Invalid operation" set
Failure: Test: yn (1, -1.0) == -inf
Result:
 is:         -nan  -nan
 should be:  -inf  -inf
Failure: yn (1, 0.0) == -inf: Exception "Divide by zero" set

Test suite completed:
  1129 test cases plus 944 tests for exception flags executed.
  18 errors occurred.

test-float has two more errors:

Failure: Test: yn (3, 0.7) == -15.819479052819633505
Result:
 is:         -1.58194799423217773438e+01  -0x1.fa392e00000000000000p+3
 should be:  -1.58194789886474609375e+01  -0x1.fa392c00000000000000p+3
 difference:  9.53674316406250000000e-07   0x1.00000000000000000000p-20
 ulp       :  1.0000
 max.ulp   :  0.0000

A lot of these look like really simple things like returning nan instead of inf. I may submit a pull request to fix these easy ones up, since I'm in the openlibm sources anyway right now.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions