src/pkg/math/cmplx/isnan.go - The Go Programming Language

Golang

Source file src/pkg/math/cmplx/isnan.go

     1	// Copyright 2010 The Go 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 cmplx
     6	
     7	import "math"
     8	
     9	// IsNaN returns true if either real(x) or imag(x) is NaN
    10	// and neither is an infinity.
    11	func IsNaN(x complex128) bool {
    12		switch {
    13		case math.IsInf(real(x), 0) || math.IsInf(imag(x), 0):
    14			return false
    15		case math.IsNaN(real(x)) || math.IsNaN(imag(x)):
    16			return true
    17		}
    18		return false
    19	}
    20	
    21	// NaN returns a complex ``not-a-number'' value.
    22	func NaN() complex128 {
    23		nan := math.NaN()
    24		return complex(nan, nan)
    25	}