numbers v5.0.1 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 type t()
t() :: term

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.