numbers v5.2.2 Numbers.Protocols.Exponentiation protocol

For supporting Numbers.pow/2.

Link to this section Summary

Functions

Power function, x^n.

Link to this section Types

Link to this section Functions

Link to this function

pow(num, integer_power)

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.