diff options
Diffstat (limited to 'src/pkg/math/logb.go')
-rw-r--r-- | src/pkg/math/logb.go | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/src/pkg/math/logb.go b/src/pkg/math/logb.go deleted file mode 100644 index f2769d4fd..000000000 --- a/src/pkg/math/logb.go +++ /dev/null @@ -1,50 +0,0 @@ -// 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 math - -// Logb returns the binary exponent of x. -// -// Special cases are: -// Logb(±Inf) = +Inf -// Logb(0) = -Inf -// Logb(NaN) = NaN -func Logb(x float64) float64 { - // special cases - switch { - case x == 0: - return Inf(-1) - case IsInf(x, 0): - return Inf(1) - case IsNaN(x): - return x - } - return float64(ilogb(x)) -} - -// Ilogb returns the binary exponent of x as an integer. -// -// Special cases are: -// Ilogb(±Inf) = MaxInt32 -// Ilogb(0) = MinInt32 -// Ilogb(NaN) = MaxInt32 -func Ilogb(x float64) int { - // special cases - switch { - case x == 0: - return MinInt32 - case IsNaN(x): - return MaxInt32 - case IsInf(x, 0): - return MaxInt32 - } - return ilogb(x) -} - -// logb returns the binary exponent of x. It assumes x is finite and -// non-zero. -func ilogb(x float64) int { - x, exp := normalize(x) - return int((Float64bits(x)>>shift)&mask) - bias + exp -} |