Numbers.Protocols.Exponentiation protocol (numbers v5.2.4)
For supporting Numbers.pow/2
.
Link to this section Summary
Functions
Power function, x^n.
Link to this section Types
Specs
t() :: term()
Link to this section Functions
Link to this function
pow(num, integer_power)
Specs
pow(t(), non_neg_integer()) :: t()
Power function, x^n.
Unless a dedicated fast power algorithm exists for your data structure,
you could use the 'Exponentiation by Squaring' algorithm, by calling
Numbers.Helper.pow_by_sq(num, integer_power)
in the implementation,
which is a reasonably fast algorithm that uses log(n)
multiplication steps.