logb

Extracts the exponent of x as a signed integral value.

If x is subnormal, it is treated as if it were normalized. For a positive, finite x:

1 <= x * FLT_RADIX-logb(x) < FLT_RADIX

Special Values
xlogb(x)divide by 0?
±∞+∞no
±0.0-∞yes
  1. real logb(real x)
    pragma(inline, true) @trusted pure nothrow @nogc
    real
    logb
    (
    real x
    )
  2. double logb(double x)
  3. float logb(float x)

Examples

assert(logb(1.0) == 0);
assert(logb(100.0) == 6);

assert(logb(0.0) == -real.infinity);
assert(logb(real.infinity) == real.infinity);
assert(logb(-real.infinity) == real.infinity);

Meta