// Copyright 2010 The Go 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 cmplx import "math" // IsNaN reports whether either real(x) or imag(x) is NaN // and neither is an infinity. func IsNaN(x complex128) bool { switch { case math.IsInf(real(x), 0) || math.IsInf(imag(x), 0): return false case math.IsNaN(real(x)) || math.IsNaN(imag(x)): return true } return false } // NaN returns a complex “not-a-number” value. func NaN() complex128 { nan := math.NaN() return complex(nan, nan) }