Chapter 26. Numerics

26.4, the generalized numeric operations such as accumulate, are extended with the following functions:

   power (x, n);
   power (x, n, monoid_operation);

Returns, in FORTRAN syntax, "x ** n" where n >= 0. In the case of n == 0, returns the identity element for the monoid operation. The two-argument signature uses multiplication (for a true "power" implementation), but addition is supported as well. The operation functor must be associative.

The iota function wins the award for Extension With the Coolest Name (the name comes from Ken Iverson's APL language.) As described in the SGI documentation, it "assigns sequentially increasing values to a range. That is, it assigns value to *first, value + 1 to *(first + 1) and so on."

   void iota(_ForwardIter first, _ForwardIter last, _Tp value);

The iota function is included in the ISO C++ 2011 standard.