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
special cases
	switch {
	case  == 0:
		return Inf(-1)
	case IsInf(, 0):
		return Inf(1)
	case IsNaN():
		return 
	}
	return float64(ilogb())
}
Ilogb returns the binary exponent of x as an integer. Special cases are: Ilogb(±Inf) = MaxInt32 Ilogb(0) = MinInt32 Ilogb(NaN) = MaxInt32
special cases
	switch {
	case  == 0:
		return MinInt32
	case IsNaN():
		return MaxInt32
	case IsInf(, 0):
		return MaxInt32
	}
	return ilogb()
}
logb returns the binary exponent of x. It assumes x is finite and non-zero.
func ( float64) int {
	,  := normalize()
	return int((Float64bits()>>shift)&mask) - bias +