Abstraction of numeric types that may be raised to a power using the exponentiation operator ^.
function exp(Float x) => e^x;
The exponentiation operation should obey the usual index laws, including:
x^0 = 1,x^1 = x,x^(-1) = 1/xx^(m+n) = x^m * x^nx^(m-n) = x^m / x^nx^(m*n) = (x^m)^n(x*y)^n = x^n * y^nwhere 0 is the additive identity, and 1 is the
multiplicative identity.
Note that in general, the type of the exponent may be
different to the numeric type which is exponentiated. For
example, a Rational number class might be a subtype of
Exponentiable<Rational,Integer>, thus accepting only
whole-number exponents.
no type hierarchy
| Inherited Attributes |
Attributes inherited from: Object |
Attributes inherited from: Invertible<Other> |
| Methods | |
power | Source Codeshared formal This power(Other other)The result of raising this number to the given power. |
| Inherited Methods |
Methods inherited from: Object |
Methods inherited from: Invertible<Other> |
Methods inherited from: Numeric<Other> |
Methods inherited from: Summable<Other> |