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/x`
• `x^(m+n) = x^m * x^n`
• `x^(m-n) = x^m / x^n`
• `x^(m*n) = (x^m)^n`
• `(x*y)^n = x^n * y^n`

where `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.

See also `Integer`, `Float`

no type hierarchy

• `Exponentiable`
• `Numeric`
• `Invertible`
• `Summable`
• `Exponentiable` of
• `Float`
• `Integer`
 Inherited Attributes Attributes inherited from: `Object` Attributes inherited from: `Invertible``Invertible.negated`
 Methods `power` Source Code`shared formal This power(Other other)`The result of raising this number to the given power.
 Inherited Methods Methods inherited from: `Object``Object.equals()` Methods inherited from: `Invertible``Invertible.minus()` Methods inherited from: `Numeric` Methods inherited from: `Summable``Summable.plus()`