OSDN Git Service

libgo: Update to weekly.2012-02-07.
[pf3gnuchains/gcc-fork.git] / libgo / go / math / logb.go
index 072281d..d32f9f1 100644 (file)
@@ -11,15 +11,13 @@ package math
 //     Logb(0) = -Inf
 //     Logb(NaN) = NaN
 func Logb(x float64) float64 {
-       // TODO(rsc): Remove manual inlining of IsNaN, IsInf
-       // when compiler does it for us
        // special cases
        switch {
        case x == 0:
                return Inf(-1)
-       case x < -MaxFloat64 || x > MaxFloat64: // IsInf(x, 0):
+       case IsInf(x, 0):
                return Inf(1)
-       case x != x: // IsNaN(x):
+       case IsNaN(x):
                return x
        }
        return float64(ilogb(x))
@@ -32,15 +30,13 @@ func Logb(x float64) float64 {
 //     Ilogb(0) = MinInt32
 //     Ilogb(NaN) = MaxInt32
 func Ilogb(x float64) int {
-       // TODO(rsc): Remove manual inlining of IsNaN, IsInf
-       // when compiler does it for us
        // special cases
        switch {
        case x == 0:
                return MinInt32
-       case x != x: // IsNaN(x):
+       case IsNaN(x):
                return MaxInt32
-       case x < -MaxFloat64 || x > MaxFloat64: // IsInf(x, 0):
+       case IsInf(x, 0):
                return MaxInt32
        }
        return ilogb(x)