chewxy / math32

A float32 version of Go's math package

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fix tests.

chewxy opened this issue · comments

TODO:

Thanks to @docmerlin for the headsup

  • find the correct all_test.go from old git repos.
  • travisify this repo

There are plenty test failures:

15:18 $ go test 
--- FAIL: TestGamma (0.00s)
    all_test.go:2112: Gamma(-5.0106034) = 0.7719545, want 0.77194035
--- FAIL: TestJ0 (0.00s)
    all_test.go:2158: J0(-8.685925) = -0.00872212, want -0.008722185
--- FAIL: TestLgamma (0.00s)
    all_test.go:2231: Lgamma(-5.0106034) = -0.25882974, 1, want -0.258848, 1
--- FAIL: TestModf (0.00s)
    all_test.go:2338: Modf(-5.0106034) = -5, -0.010603428, want -5, -0.010603618
--- FAIL: TestRemainder (0.00s)
    all_test.go:2386: Remainder(10, -5.0106034) = -0.021206856, want -0.021207236
--- FAIL: TestSin (0.00s)
    all_test.go:2411: Sin(9.636293) = -0.20994182, want -0.2099421
--- FAIL: TestSincos (0.00s)
    all_test.go:2424: Sincos(9.636293) = -0.20994182, -0.9777139 want -0.2099421, -0.9777138
--- FAIL: TestSqrt (0.00s)
    all_test.go:2446: SqrtGo(2.7279398) = 1.6516476, want 1.6516477
    all_test.go:2450: Sqrt(2.7279398) = 1.6516476, want 1.6516477
    all_test.go:2455: SqrtGo(3e-45) = 5.293956e-23, want 0
    all_test.go:2458: Sqrt(3e-45) = 5.293956e-23, want 0
--- FAIL: TestTan (0.00s)
    all_test.go:2466: Tan(9.636293) = 0.21472725, want 0.21472757
--- FAIL: TestY1 (0.00s)
    all_test.go:2521: Y1(4.979012) = 0.15494211, want 0.15494214
    all_test.go:2521: Y1(7.7388725) = -0.2165955, want -0.21659552
    all_test.go:2521: Y1(5.0106034) = 0.14427412, want 0.14427406
    all_test.go:2521: Y1(9.636293) = 0.22153796, want 0.22153799
    all_test.go:2521: Y1(5.2290835) = 0.06911073, want 0.069110766
    all_test.go:2521: Y1(2.7279398) = 0.23801161, want 0.23801164
    all_test.go:2521: Y1(8.685925) = 0.024250254, want 0.024250317
--- FAIL: TestLargeCos (0.00s)
    all_test.go:2561: Cos(314164.25) = 0.2689012, want 0.2634752
    all_test.go:2561: Cos(314167.03) = 0.087976724, want 0.114855126
    all_test.go:2561: Cos(314159) = 0.9649984, want 0.961913
    all_test.go:2561: Cos(314154.28) = 0.26838872, want 0.29381412
    all_test.go:2561: Cos(314168.9) = -0.97673833, want -0.9777138
    all_test.go:2561: Cos(314162.22) = -0.9823423, want -0.97693044
    all_test.go:2561: Cos(314164.5) = 0.49883324, want 0.4940088
    all_test.go:2561: Cos(314162) = -0.9183317, want -0.9156587
    all_test.go:2561: Cos(314161.1) = -0.25475535, want -0.25177294
    all_test.go:2561: Cos(314150.6) = -0.7295251, want -0.73924136
--- FAIL: TestLargeSin (0.00s)
    all_test.go:2572: Sin(314164.25) = -0.9631678, want -0.9646662
    all_test.go:2572: Sin(314167.03) = 0.99612254, want 0.9933823
    all_test.go:2572: Sin(314159) = -0.2622557, want -0.27335587
    all_test.go:2572: Sin(314154.28) = 0.9633107, want 0.9558626
    all_test.go:2572: Sin(314168.9) = -0.21443473, want -0.2099421
    all_test.go:2572: Sin(314162.22) = 0.18709259, want 0.21355788
    all_test.go:2572: Sin(314164.5) = -0.86669797, want -0.8694569
    all_test.go:2572: Sin(314162) = 0.39581177, want 0.40195668
    all_test.go:2572: Sin(314161.1) = 0.96700555, want 0.9677863
    all_test.go:2572: Sin(314150.6) = -0.68395406, want -0.6734406
--- FAIL: TestLargeSincos (0.00s)
    all_test.go:2583: Sincos(314164.25) = -0.9631678, 0.2689012, want -0.9646662, 0.2634752
    all_test.go:2583: Sincos(314167.03) = 0.99612254, 0.087976724, want 0.9933823, 0.114855126
    all_test.go:2583: Sincos(314159) = -0.2622557, 0.9649984, want -0.27335587, 0.961913
    all_test.go:2583: Sincos(314154.28) = 0.9633107, 0.26838872, want 0.9558626, 0.29381412
    all_test.go:2583: Sincos(314168.9) = -0.21443473, -0.97673833, want -0.2099421, -0.9777138
    all_test.go:2583: Sincos(314162.22) = 0.18709259, -0.9823423, want 0.21355788, -0.97693044
    all_test.go:2583: Sincos(314164.5) = -0.86669797, 0.49883324, want -0.8694569, 0.4940088
    all_test.go:2583: Sincos(314162) = 0.39581177, -0.9183317, want 0.40195668, -0.9156587
    all_test.go:2583: Sincos(314161.1) = 0.96700555, -0.25475535, want 0.9677863, -0.25177294
    all_test.go:2583: Sincos(314150.6) = -0.68395406, -0.7295251, want -0.6734406, -0.73924136
--- FAIL: TestLargeTan (0.00s)
    all_test.go:2594: Tan(314164.25) = -3.5818648, want -3.6613166
    all_test.go:2594: Tan(314167.03) = 11.322569, want 8.649002
    all_test.go:2594: Tan(314159) = -0.271768, want -0.28417942
    all_test.go:2594: Tan(314154.28) = 3.5892367, want 3.2532902
    all_test.go:2594: Tan(314168.9) = 0.21954164, want 0.21472757
    all_test.go:2594: Tan(314162.22) = -0.1904556, want -0.21860091
    all_test.go:2594: Tan(314164.5) = -1.7374504, want -1.7600029
    all_test.go:2594: Tan(314162) = -0.43101177, want -0.43898088
    all_test.go:2594: Tan(314161.1) = -3.7958205, want -3.8438857
    all_test.go:2594: Tan(314150.6) = 0.93753326, want 0.9109888
FAIL
exit status 1
FAIL	github.com/chewxy/math32	0.004s

Yes I am aware. Much of these tests are sensitivity related. It takes quite abit of work to actually fix them all. I welcome all PRs

I have fixed existing tests, added smoke tests for all supported architectures/OSes (see https://github.com/chewxy/math32/blob/master/math32_test.go) and added github actions for validating PRs. Can we consider this closed?

That is very impressive and a highly valuable work. Congratulation and thank you very much.

Alright, closing now!