mathext: make tests parallel

This commit is contained in:
Egon Elbre
2020-03-14 12:59:14 +02:00
parent 190873a112
commit fd34e19f46
14 changed files with 39 additions and 0 deletions

View File

@@ -10,6 +10,7 @@ import (
)
func TestAiry(t *testing.T) {
t.Parallel()
for _, test := range []struct {
z, ans complex128
}{

View File

@@ -84,6 +84,7 @@ var betaTests = []struct {
}
func TestBeta(t *testing.T) {
t.Parallel()
for i, test := range betaTests {
v := mathext.Beta(test.p, test.q)
testOK := func(x float64) bool {
@@ -142,6 +143,7 @@ func BenchmarkBeta2(b *testing.B) {
}
func TestLbeta(t *testing.T) {
t.Parallel()
for i, test := range betaTests {
want := math.Log(test.want)
v := mathext.Lbeta(test.p, test.q)

View File

@@ -11,6 +11,7 @@ import (
)
func TestIncBeta(t *testing.T) {
t.Parallel()
tol := 1e-14
tol2 := 1e-10
// Test against values from scipy

View File

@@ -14,6 +14,7 @@ import (
var result float64
func TestDigamma(t *testing.T) {
t.Parallel()
const tol = 1e-10
for i, test := range []struct {

View File

@@ -13,6 +13,7 @@ import (
// Testing EllipticF (and EllipticRF) using the addition theorems from http://dlmf.nist.gov/19.11.i
func TestEllipticF(t *testing.T) {
t.Parallel()
const tol = 1.0e-14
rnd := rand.New(rand.NewSource(1))
@@ -59,6 +60,7 @@ func TestEllipticF(t *testing.T) {
// Testing EllipticE (and EllipticRF, EllipticRD) using the addition theorems from http://dlmf.nist.gov/19.11.i
func TestEllipticE(t *testing.T) {
t.Parallel()
const tol = 1.0e-14
rnd := rand.New(rand.NewSource(1))

View File

@@ -12,6 +12,7 @@ import (
// TestCompleteKE checks if the Legendre's relation for m=0.0001(0.0001)0.9999
// is satisfied with accuracy 1e-14.
func TestCompleteKE(t *testing.T) {
t.Parallel()
const tol = 1.0e-14
for m := 1; m <= 9999; m++ {
@@ -34,6 +35,7 @@ func TestCompleteKE(t *testing.T) {
// K(m) = B(m) + D(m),
// E(m) = B(m) + (1-m)D(m).
func TestCompleteBD(t *testing.T) {
t.Parallel()
const tol = 1.0e-14
for m := 1; m <= 9999; m++ {

View File

@@ -11,6 +11,7 @@ import (
)
func TestNormalQuantile(t *testing.T) {
t.Parallel()
// Values from https://www.johndcook.com/blog/normal_cdf_inverse/
p := []float64{
0.0000001,

View File

@@ -10,6 +10,7 @@ import (
)
func TestGammaIncReg(t *testing.T) {
t.Parallel()
for i, test := range []struct {
a, x, want float64
}{
@@ -42,6 +43,7 @@ func TestGammaIncReg(t *testing.T) {
}
func TestGammaIncRegComp(t *testing.T) {
t.Parallel()
for i, test := range []struct {
a, x, want float64
}{
@@ -74,6 +76,7 @@ func TestGammaIncRegComp(t *testing.T) {
}
func TestGammaIncRegInv(t *testing.T) {
t.Parallel()
for i, test := range []struct {
a, x, want float64
}{
@@ -106,6 +109,7 @@ func TestGammaIncRegInv(t *testing.T) {
}
func TestGammaIncRegCompInv(t *testing.T) {
t.Parallel()
for i, test := range []struct {
a, x, want float64
}{

View File

@@ -62,6 +62,7 @@ func randInput(rnd *rand.Rand) input {
const nInputs = 100000
func TestAiry(t *testing.T) {
t.Parallel()
rnd := rand.New(rand.NewSource(1))
for i := 0; i < nInputs; i++ {
in := randInput(rnd)
@@ -70,6 +71,7 @@ func TestAiry(t *testing.T) {
}
func TestZacai(t *testing.T) {
t.Parallel()
switch runtime.GOARCH {
case "arm64":
t.Skipf("skipping on GOARCH=%s", runtime.GOARCH)
@@ -82,6 +84,7 @@ func TestZacai(t *testing.T) {
}
func TestZbknu(t *testing.T) {
t.Parallel()
rnd := rand.New(rand.NewSource(1))
for i := 0; i < nInputs; i++ {
in := randInput(rnd)
@@ -90,6 +93,7 @@ func TestZbknu(t *testing.T) {
}
func TestZasyi(t *testing.T) {
t.Parallel()
rnd := rand.New(rand.NewSource(1))
for i := 0; i < nInputs; i++ {
in := randInput(rnd)
@@ -98,6 +102,7 @@ func TestZasyi(t *testing.T) {
}
func TestZseri(t *testing.T) {
t.Parallel()
switch runtime.GOARCH {
case "arm64":
t.Skipf("skipping on GOARCH=%s", runtime.GOARCH)
@@ -110,6 +115,7 @@ func TestZseri(t *testing.T) {
}
func TestZmlri(t *testing.T) {
t.Parallel()
rnd := rand.New(rand.NewSource(1))
for i := 0; i < nInputs; i++ {
in := randInput(rnd)
@@ -118,6 +124,7 @@ func TestZmlri(t *testing.T) {
}
func TestZkscl(t *testing.T) {
t.Parallel()
rnd := rand.New(rand.NewSource(1))
for i := 0; i < nInputs; i++ {
in := randInput(rnd)
@@ -126,6 +133,7 @@ func TestZkscl(t *testing.T) {
}
func TestZuchk(t *testing.T) {
t.Parallel()
rnd := rand.New(rand.NewSource(1))
for i := 0; i < nInputs; i++ {
in := randInput(rnd)
@@ -134,6 +142,7 @@ func TestZuchk(t *testing.T) {
}
func TestZs1s2(t *testing.T) {
t.Parallel()
rnd := rand.New(rand.NewSource(1))
for i := 0; i < nInputs; i++ {
in := randInput(rnd)

View File

@@ -10,6 +10,7 @@ import (
)
func TestMvLgamma(t *testing.T) {
t.Parallel()
// Values compared with scipy
for i, test := range []struct {
v float64

View File

@@ -17,6 +17,7 @@ var _ rand.Source = (*MT19937_64)(nil)
// with or without an initial seed array.
func TestMT19937_64(t *testing.T) {
t.Parallel()
want := []uint64{
14514284786278117030, 4620546740167642908, 13109570281517897720, 17462938647148434322, 355488278567739596,
7469126240319926998, 4635995468481642529, 418970542659199878, 9604170989252516556, 6358044926049913402,
@@ -38,6 +39,7 @@ func TestMT19937_64(t *testing.T) {
}
func TestMT19937_64SeedFromKeys(t *testing.T) {
t.Parallel()
want := []uint64{
7266447313870364031, 4946485549665804864, 16945909448695747420, 16394063075524226720, 4873882236456199058,
14877448043947020171, 6740343660852211943, 13857871200353263164, 5249110015610582907, 10205081126064480383,
@@ -60,6 +62,7 @@ func TestMT19937_64SeedFromKeys(t *testing.T) {
}
func TestMT19937_64RoundTrip(t *testing.T) {
t.Parallel()
var src MT19937_64
src.Seed(uint64(time.Now().Unix()))

View File

@@ -17,6 +17,7 @@ var _ rand.Source = (*MT19937)(nil)
// with or without an initial seed array.
func TestMT19937(t *testing.T) {
t.Parallel()
want := []uint32{
3499211612, 581869302, 3890346734, 3586334585, 545404204,
4161255391, 3922919429, 949333985, 2715962298, 1323567403,
@@ -38,6 +39,7 @@ func TestMT19937(t *testing.T) {
}
func TestMT19937SeedFromKeys(t *testing.T) {
t.Parallel()
want := []uint32{
1067595299, 955945823, 477289528, 4107218783, 4228976476,
3344332714, 3355579695, 227628506, 810200273, 2591290167,
@@ -60,6 +62,7 @@ func TestMT19937SeedFromKeys(t *testing.T) {
}
func TestMT19937RoundTrip(t *testing.T) {
t.Parallel()
var src MT19937
src.Seed(uint64(time.Now().Unix()))

View File

@@ -16,6 +16,7 @@ import (
var _ rand.Source = (*SplitMix64)(nil)
func TestSplitMix64(t *testing.T) {
t.Parallel()
want := []uint64{
10451216379200822465, 13757245211066428519, 17911839290282890590, 8196980753821780235, 8195237237126968761,
14072917602864530048, 16184226688143867045, 9648886400068060533, 5266705631892356520, 14646652180046636950,
@@ -37,6 +38,7 @@ func TestSplitMix64(t *testing.T) {
}
func TestSplitMix64RoundTrip(t *testing.T) {
t.Parallel()
var src SplitMix64
src.Seed(uint64(time.Now().Unix()))
@@ -65,6 +67,7 @@ func TestSplitMix64RoundTrip(t *testing.T) {
var _ rand.Source = (*Xoshiro256plus)(nil)
func TestXoshiro256plus(t *testing.T) {
t.Parallel()
want := []uint64{
201453059313051084, 16342930563397888806, 2922809869868169223, 13315230553875954649, 6410977891529050008,
2721661332018190285, 3769995280709464022, 17208995829377771030, 16938999919058283733, 8307416726322109393,
@@ -86,6 +89,7 @@ func TestXoshiro256plus(t *testing.T) {
}
func TestXoshiro256plusRoundTrip(t *testing.T) {
t.Parallel()
var src Xoshiro256plus
src.Seed(uint64(time.Now().Unix()))
@@ -116,6 +120,7 @@ func TestXoshiro256plusRoundTrip(t *testing.T) {
var _ rand.Source = (*Xoshiro256plusplus)(nil)
func TestXoshiro256plusplus(t *testing.T) {
t.Parallel()
want := []uint64{
14971601782005023387, 13781649495232077965, 1847458086238483744, 13765271635752736470, 3406718355780431780,
10892412867582108485, 18204613561675945223, 9655336933892813345, 1781989159761824720, 2477283028068920342,
@@ -137,6 +142,7 @@ func TestXoshiro256plusplus(t *testing.T) {
}
func TestXoshiro256plusplusRoundTrip(t *testing.T) {
t.Parallel()
var src Xoshiro256plusplus
src.Seed(uint64(time.Now().Unix()))
@@ -167,6 +173,7 @@ func TestXoshiro256plusplusRoundTrip(t *testing.T) {
var _ rand.Source = (*Xoshiro256starstar)(nil)
func TestXoshiro256starstar(t *testing.T) {
t.Parallel()
want := []uint64{
12966619160104079557, 9600361134598540522, 10590380919521690900, 7218738570589545383, 12860671823995680371,
2648436617965840162, 1310552918490157286, 7031611932980406429, 15996139959407692321, 10177250653276320208,
@@ -188,6 +195,7 @@ func TestXoshiro256starstar(t *testing.T) {
}
func TestXoshiro256starstarRoundTrip(t *testing.T) {
t.Parallel()
var src Xoshiro256starstar
src.Seed(uint64(time.Now().Unix()))

View File

@@ -10,6 +10,7 @@ import (
)
func TestZeta(t *testing.T) {
t.Parallel()
for i, test := range []struct {
x, q, want float64
}{