gonum.org/v1/gonum@v0.14.0/num/quat/inf_test.go (about) 1 // Copyright ©2018 The Gonum Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package quat 6 7 import ( 8 "math" 9 "testing" 10 ) 11 12 var inf = math.Inf(1) 13 14 var infTests = []struct { 15 q Number 16 want bool 17 }{ 18 {q: Inf(), want: true}, 19 {q: Number{Real: inf, Imag: inf, Jmag: inf, Kmag: inf}, want: true}, 20 {q: Number{Real: -inf, Imag: -inf, Jmag: -inf, Kmag: -inf}, want: true}, 21 {q: Number{Real: inf, Imag: nan, Jmag: nan, Kmag: nan}, want: true}, 22 {q: Number{Real: nan, Imag: inf, Jmag: nan, Kmag: nan}, want: true}, 23 {q: Number{Real: nan, Imag: nan, Jmag: inf, Kmag: nan}, want: true}, 24 {q: Number{Real: nan, Imag: nan, Jmag: nan, Kmag: inf}, want: true}, 25 {q: Number{Real: -inf, Imag: nan, Jmag: nan, Kmag: nan}, want: true}, 26 {q: Number{Real: nan, Imag: -inf, Jmag: nan, Kmag: nan}, want: true}, 27 {q: Number{Real: nan, Imag: nan, Jmag: -inf, Kmag: nan}, want: true}, 28 {q: Number{Real: nan, Imag: nan, Jmag: nan, Kmag: -inf}, want: true}, 29 {q: Number{Real: inf}, want: true}, 30 {q: Number{Imag: inf}, want: true}, 31 {q: Number{Jmag: inf}, want: true}, 32 {q: Number{Kmag: inf}, want: true}, 33 {q: Number{Real: -inf}, want: true}, 34 {q: Number{Imag: -inf}, want: true}, 35 {q: Number{Jmag: -inf}, want: true}, 36 {q: Number{Kmag: -inf}, want: true}, 37 {q: Number{}, want: false}, 38 } 39 40 func TestIsInf(t *testing.T) { 41 t.Parallel() 42 for _, test := range infTests { 43 got := IsInf(test.q) 44 if got != test.want { 45 t.Errorf("unexpected result for IsInf(%v): got:%t want:%t", test.q, got, test.want) 46 } 47 } 48 }