mirror of
https://github.com/gonum/gonum.git
synced 2025-10-26 08:40:26 +08:00
testlapack: add test for Dlapy2
Closes 210
This commit is contained in:
@@ -76,6 +76,10 @@ func TestDlantr(t *testing.T) {
|
|||||||
testlapack.DlantrTest(t, impl)
|
testlapack.DlantrTest(t, impl)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestDlapy2(t *testing.T) {
|
||||||
|
testlapack.Dlapy2Test(t, impl)
|
||||||
|
}
|
||||||
|
|
||||||
func TestDlarfx(t *testing.T) {
|
func TestDlarfx(t *testing.T) {
|
||||||
testlapack.DlarfxTest(t, impl)
|
testlapack.DlarfxTest(t, impl)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -136,6 +136,10 @@ func TestDlange(t *testing.T) {
|
|||||||
testlapack.DlangeTest(t, impl)
|
testlapack.DlangeTest(t, impl)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestDlapy2(t *testing.T) {
|
||||||
|
testlapack.Dlapy2Test(t, impl)
|
||||||
|
}
|
||||||
|
|
||||||
func TestDlas2(t *testing.T) {
|
func TestDlas2(t *testing.T) {
|
||||||
testlapack.Dlas2Test(t, impl)
|
testlapack.Dlas2Test(t, impl)
|
||||||
}
|
}
|
||||||
|
|||||||
30
testlapack/dlapy2.go
Normal file
30
testlapack/dlapy2.go
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
// Copyright ©2016 The gonum Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
package testlapack
|
||||||
|
|
||||||
|
import (
|
||||||
|
"math"
|
||||||
|
"math/rand"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/gonum/floats"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Dlapy2er interface {
|
||||||
|
Dlapy2(float64, float64) float64
|
||||||
|
}
|
||||||
|
|
||||||
|
func Dlapy2Test(t *testing.T, impl Dlapy2er) {
|
||||||
|
rnd := rand.New(rand.NewSource(1))
|
||||||
|
for i := 0; i < 10; i++ {
|
||||||
|
x := math.Abs(1e200 * rnd.NormFloat64())
|
||||||
|
y := math.Abs(1e200 * rnd.NormFloat64())
|
||||||
|
got := impl.Dlapy2(x, y)
|
||||||
|
want := math.Hypot(x, y)
|
||||||
|
if !floats.EqualWithinRel(got, want, 1e-16) {
|
||||||
|
t.Errorf("Dlapy2(%g, %g) = %g, want %g", x, y, got, want)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user