2018-12-12 00:02:22 -08:00
|
|
|
package complex
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"math"
|
|
|
|
|
"testing"
|
|
|
|
|
"testing/quick"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
//go:generate go run asm.go -out complex.s -stubs stub.go
|
|
|
|
|
|
|
|
|
|
func TestReal(t *testing.T) {
|
2018-12-27 23:09:44 -08:00
|
|
|
expect := func(z complex128) float64 {
|
|
|
|
|
return real(z)
|
2018-12-12 00:02:22 -08:00
|
|
|
}
|
|
|
|
|
if err := quick.CheckEqual(Real, expect, nil); err != nil {
|
|
|
|
|
t.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestImag(t *testing.T) {
|
2018-12-27 23:09:44 -08:00
|
|
|
expect := func(z complex128) float64 {
|
|
|
|
|
return imag(z)
|
2018-12-12 00:02:22 -08:00
|
|
|
}
|
|
|
|
|
if err := quick.CheckEqual(Imag, expect, nil); err != nil {
|
|
|
|
|
t.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestNorm(t *testing.T) {
|
2018-12-27 23:09:44 -08:00
|
|
|
expect := func(z complex128) float64 {
|
|
|
|
|
return math.Sqrt(real(z)*real(z) + imag(z)*imag(z))
|
2018-12-12 00:02:22 -08:00
|
|
|
}
|
|
|
|
|
if err := quick.CheckEqual(Norm, expect, nil); err != nil {
|
|
|
|
|
t.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
}
|