<span class="identifier">T</span> <span class="identifier">accumulate</span><span class="special">(</span><span class="identifier">InputIterator</span> first<span class="special">,</span> <span class="identifier">InputIterator</span> last<span class="special">,</span> <span class="identifier">T</span> init<span class="special">,</span>
<span class="identifier">command_queue</span> <span class="special">&</span> queue <span class="special">=</span> <span class="identifier">system</span><span class="special">::</span><span class="identifier">default_queue</span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span></pre></div>
<div class="refsect1">
-<a name="idp92550992"></a><h2>Description</h2>
+<a name="idm46113335380224"></a><h2>Description</h2>
<p>Returns the result of applying <code class="computeroutput">function</code> to the elements in the range [<code class="computeroutput">first</code>, <code class="computeroutput">last</code>) and <code class="computeroutput">init</code>.</p>
<p>If no function is specified, <code class="computeroutput">plus</code> will be used.</p>
<p>
<span class="identifier">accumulate</span><span class="special">(</span><span class="identifier">vec</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(</span><span class="special">)</span><span class="special">,</span> <span class="identifier">vec</span><span class="special">.</span><span class="identifier">end</span><span class="special">(</span><span class="special">)</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">plus</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span> <span class="comment">// slow</span>
<span class="identifier">reduce</span><span class="special">(</span><span class="identifier">vec</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(</span><span class="special">)</span><span class="special">,</span> <span class="identifier">vec</span><span class="special">.</span><span class="identifier">end</span><span class="special">(</span><span class="special">)</span><span class="special">,</span> <span class="special">&</span><span class="identifier">result</span><span class="special">,</span> <span class="identifier">plus</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span> <span class="comment">// fast</span>
</pre>
+<p>Space complexity: \Omega(1)<br>
+ Space complexity when optimized to <code class="computeroutput">reduce()</code>: \Omega(n)</p>
<p><span class="bold"><strong>See Also:</strong></span></p>
<p>reduce() </p>
<p>
</p>
+<p>
+</p>
<div class="variablelist"><table border="0" class="variablelist compact">
<colgroup>
<col align="left" valign="top">