1 <html><head><meta http-equiv=
"Content-Type" content=
"text/html; charset=UTF-8"><title>Chapter
26. Numerics
</title><meta name=
"generator" content=
"DocBook XSL-NS Stylesheets V1.76.1"><meta name=
"keywords" content=
"
5 "><meta name=
"keywords" content=
"
11 "><link rel=
"home" href=
"../index.html" title=
"The GNU C++ Library"><link rel=
"up" href=
"extensions.html" title=
"Part III. Extensions"><link rel=
"prev" href=
"ext_algorithms.html" title=
"Chapter 25. Algorithms"><link rel=
"next" href=
"ext_iterators.html" title=
"Chapter 27. Iterators"></head><body bgcolor=
"white" text=
"black" link=
"#0000FF" vlink=
"#840084" alink=
"#0000FF"><div class=
"navheader"><table width=
"100%" summary=
"Navigation header"><tr><th colspan=
"3" align=
"center">Chapter
26. Numerics
</th></tr><tr><td width=
"20%" align=
"left"><a accesskey=
"p" href=
"ext_algorithms.html">Prev
</a> </td><th width=
"60%" align=
"center">Part III.
14 </th><td width=
"20%" align=
"right"> <a accesskey=
"n" href=
"ext_iterators.html">Next
</a></td></tr></table><hr></div><div class=
"chapter" title=
"Chapter 26. Numerics"><div class=
"titlepage"><div><div><h2 class=
"title"><a name=
"manual.ext.numerics"></a>Chapter
26. Numerics
</h2></div></div></div><p>26.4, the generalized numeric operations such as
<code class=
"code">accumulate
</code>,
15 are extended with the following functions:
16 </p><pre class=
"programlisting">
18 power (x, n, monoid_operation);
</pre><p>Returns, in FORTRAN syntax,
"<code class="code
">x ** n</code>" where
19 <code class=
"code">n
>=
0</code>. In the
20 case of
<code class=
"code">n ==
0</code>, returns the identity element for the
21 monoid operation. The two-argument signature uses multiplication (for
22 a true
"power" implementation), but addition is supported as well.
23 The operation functor must be associative.
24 </p><p>The
<code class=
"code">iota
</code> function wins the award for Extension With the
25 Coolest Name (the name comes from Ken Iverson's APL language.) As
26 described in the
<a class=
"link" href=
"http://www.sgi.com/tech/stl/iota.html" target=
"_top">SGI
27 documentation
</a>, it
"assigns sequentially increasing values to a range.
28 That is, it assigns <code class="code
">value</code> to <code class="code
">*first</code>,
29 <code class="code
">value + 1</code> to<code class="code
"> *(first + 1)</code> and so on."
30 </p><pre class=
"programlisting">
31 void iota(_ForwardIter first, _ForwardIter last, _Tp value);
</pre><p>The
<code class=
"code">iota
</code> function is included in the ISO C++
2011 standard.
32 </p></div><div class=
"navfooter"><hr><table width=
"100%" summary=
"Navigation footer"><tr><td width=
"40%" align=
"left"><a accesskey=
"p" href=
"ext_algorithms.html">Prev
</a> </td><td width=
"20%" align=
"center"><a accesskey=
"u" href=
"extensions.html">Up
</a></td><td width=
"40%" align=
"right"> <a accesskey=
"n" href=
"ext_iterators.html">Next
</a></td></tr><tr><td width=
"40%" align=
"left" valign=
"top">Chapter
25. Algorithms
</td><td width=
"20%" align=
"center"><a accesskey=
"h" href=
"../index.html">Home
</a></td><td width=
"40%" align=
"right" valign=
"top"> Chapter
27. Iterators
</td></tr></table></div></body></html>