fn powi(comptime T: type, x: T, y: T) error{Overflow, Underflow}!T
[src]
Returns the power of x raised by the integer y (x^y).
Errors:
- Overflow: Integer overflow or Infinity
- Underflow: Absolute value of result smaller than 1 Edge case rules ordered by precedence:
- powi(T, x, 0) = 1 unless T is i1, i0, u0
- powi(T, 0, x) = 0 when x > 0
- powi(T, 0, x) = Overflow
- powi(T, 1, y) = 1
- powi(T, -1, y) = -1 for y an odd integer
- powi(T, -1, y) = 1 unless T is i1, i0, u0
- powi(T, -1, y) = Overflow
- powi(T, x, y) = Overflow when y >= @bitSizeOf(x)
- powi(T, x, y) = Underflow when y < 0