-
Notifications
You must be signed in to change notification settings - Fork 1
/
lgammaratio_test.go
65 lines (59 loc) · 2.67 KB
/
lgammaratio_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
// Copyright (c) 2018, Jack Parkinson. All rights reserved.
// Use of this source code is governed by the BSD 3-Clause
// license that can be found in the LICENSE file.
package special_test
import (
"testing"
. "scientificgo.org/special"
"scientificgo.org/testutil"
)
var casesLgammaRatio = []struct {
Label string
In1, In2 []float64
Out1 float64
Out2 int
}{
{"", []float64{nan}, []float64{0.93}, nan, 1},
{"", []float64{1}, []float64{nan}, nan, 1},
{"", []float64{-100}, []float64{-100}, 0, 1},
{"", []float64{+inf}, []float64{+inf}, 0, 1},
{"", []float64{-inf}, []float64{-inf}, 0, 1},
{"", []float64{-10}, []float64{-inf}, nan, 1},
{"", []float64{17.1}, []float64{+inf}, nan, 1},
{"", []float64{+inf}, []float64{17.1}, nan, 1},
{"", []float64{-4}, []float64{-7}, 5.3471075307174685, -1},
{"", []float64{-100}, []float64{-150}, 241.2807302938602, 1},
{"", []float64{-3}, []float64{102.3}, +inf, -1},
{"", []float64{-4}, []float64{102.3}, +inf, 1},
{"", []float64{102.2132}, []float64{-19}, -inf, -1},
{"", []float64{18.3}, []float64{17.3}, 2.8507065015037334, 1},
{"", []float64{18.3}, []float64{19.3}, -2.9069010598473755, 1},
{"", []float64{17.3}, []float64{18.3}, -2.8507065015037334, 1},
{"", []float64{3056.675}, []float64{2994.86}, 495.4309926489057, 1},
{"", []float64{52}, []float64{34}, 67.35512556691585, 1},
{"", []float64{5200}, []float64{5170}, 256.60281871217694, 1},
{"", []float64{-3056.675}, []float64{-2994.86}, -496.14583938109644, 1},
{"", []float64{3056.675}, []float64{-2994.86}, 42451.17912019167, -1},
{"", []float64{-3056.675}, []float64{2994.86}, -42451.89396692386, -1},
{"", []float64{305.6675}, []float64{-299.486}, 2852.4000840572594, 1},
{"", []float64{30.56675}, []float64{-29.9486}, 144.69071788326048, 1},
{"", []float64{-30.56675}, []float64{29.9486}, -146.5167345931291, -1},
{"", []float64{-30.56675}, []float64{2.99486}, -76.12202023483091, -1},
{"", []float64{30.56675}, []float64{-2.99486}, 69.6951395136519, -1},
{"", []float64{-30.56675}, []float64{-2.99486}, -78.9190498281851, 1},
{"", []float64{-3.056675}, []float64{-2.99486}, -2.473130942324609, -1},
{"", []float64{3.056675}, []float64{-2.99486}, -2.739363250496638, -1},
{"", []float64{-3.056675}, []float64{2.99486}, 0.32389865102957277, 1},
{"", []float64{-3.056675e-05}, []float64{-2.99486e-05}, -0.02042988114070874, 1},
{"", []float64{-3.056675e-05}, []float64{2.99486e-05}, -0.020395307538563508, -1},
}
func TestLgammaRatio(t *testing.T) { testutil.Test(t, tol, casesLgammaRatio, LgammaRatio) }
/*
func BenchmarkLgammaRatio(b *testing.B) {
GlobalF = bench(b, cLgammaRatio, "",
func(x []float64) float64 {
v, _ := LgammaRatio(x[:1], x[1:])
return v
})
}
*/