all: use cscalar.Same instead of local same function

This commit is contained in:
Dan Kortschak
2020-08-04 14:46:15 +09:30
parent 4f194cd672
commit dba48453fd
6 changed files with 29 additions and 37 deletions

View File

@@ -9,7 +9,7 @@ import (
"golang.org/x/exp/rand"
"gonum.org/v1/gonum/cmplxs"
"gonum.org/v1/gonum/cmplxs/cscalar"
"gonum.org/v1/gonum/floats/scalar"
"gonum.org/v1/gonum/internal/cmplx64"
"gonum.org/v1/gonum/internal/math32"
@@ -98,12 +98,12 @@ func sameApprox(a, b, tol float32) bool {
// sameCmplx tests for nan-aware equality.
func sameCmplx(a, b complex64) bool {
return a == b || (cmplx64.IsNaN(a) && cmplx64.IsNaN(b))
return cscalar.Same(complex128(a), complex128(b))
}
// sameCmplxApprox tests for nan-aware equality within tolerance.
func sameCmplxApprox(a, b complex64, tol float32) bool {
return sameCmplx(a, b) || cmplxs.EqualWithinAbsOrRel(complex128(a), complex128(b), float64(tol), float64(tol))
return sameCmplx(a, b) || cscalar.EqualWithinAbsOrRel(complex128(a), complex128(b), float64(tol), float64(tol))
}
var ( // Offset sets for testing alignment handling in Unitary assembly functions.