diff options
Diffstat (limited to 'libgo/go/math/cmplx/sqrt.go')
-rw-r--r-- | libgo/go/math/cmplx/sqrt.go | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libgo/go/math/cmplx/sqrt.go b/libgo/go/math/cmplx/sqrt.go index 0fbdcde..eddce2f 100644 --- a/libgo/go/math/cmplx/sqrt.go +++ b/libgo/go/math/cmplx/sqrt.go @@ -40,7 +40,7 @@ import "math" // 1/2 // Im w = [ (r - x)/2 ] . // -// Cancelation error in r-x or r+x is avoided by using the +// Cancellation error in r-x or r+x is avoided by using the // identity 2 Re w Im w = y. // // Note that -w is also a square root of z. The root chosen @@ -65,6 +65,8 @@ func Sqrt(x complex128) complex128 { return complex(0, math.Copysign(math.Sqrt(-real(x)), imag(x))) } return complex(math.Sqrt(real(x)), imag(x)) + } else if math.IsInf(imag(x), 0) { + return complex(math.Inf(1.0), imag(x)) } if real(x) == 0 { if imag(x) < 0 { |