You could also use this:<br><br><br>Summing3 &lt;- cxxfunction(signature(x=&quot;numeric&quot;), &#39;<br>   Rcpp::NumericVector Dvec(x);<br>   double out = sum(Dvec);       <br>   return Rcpp::wrap(out);<br>   &#39;,plugin=&quot;Rcpp&quot;)<br>
x &lt;- rnorm(100)<br>Summing3(x); sum(x)<br><br><br><br>Richard<br><br><br><br><div class="gmail_quote">On Mon, Jan 3, 2011 at 11:04 AM, Cedric Ginestet <span dir="ltr">&lt;<a href="mailto:c.ginestet05@googlemail.com">c.ginestet05@googlemail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Thanks Douglas,<br>
How stupid of me!<br>
Cheers,<div><div></div><div class="h5"><br>
<br>
On 03/01/11 16:00, Douglas Bates wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
You forgot to initialize i in both loops.  It should be<br>
<br>
for(int i = 0; i&lt;  Ne; i++)<br>
<br>
On Mon, Jan 3, 2011 at 9:50 AM, Cedric Ginestet<br>
&lt;<a href="mailto:c.ginestet05@googlemail.com" target="_blank">c.ginestet05@googlemail.com</a>&gt;  wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Dear Rcpp experts,<br>
<br>
I have the following bizarre problem. Although the second summing C++<br>
function seems easier than the former, it does not produce the correct<br>
answer. See the following reproducible codes:<br>
<br>
##########################################<br>
Summing1&lt;- cxxfunction(signature(x=&quot;numeric&quot;), &#39;<br>
     Rcpp::NumericVector Dvec(x);<br>
     int Ne = Dvec.size();<br>
     double out =0;<br>
     for(int i; i&lt;Ne; i++) out += (1/Dvec[i])/Ne;<br>
     return Rcpp::wrap(out);<br>
&#39;,plugin=&quot;Rcpp&quot;)<br>
x&lt;- rnorm(100)<br>
Summing1(x); mean(1/x)<br>
##########################################<br>
gives:<br>
[1] 0.02950222<br>
[1] 0.02950222<br>
<br>
##########################################<br>
Summing2&lt;- cxxfunction(signature(x=&quot;numeric&quot;), &#39;<br>
     Rcpp::NumericVector Dvec(x);<br>
     int Ne = Dvec.size();<br>
     double out =0;<br>
     for(int i; i&lt;Ne; i++) out += Dvec[i];<br>
     return Rcpp::wrap(out);<br>
&#39;,plugin=&quot;Rcpp&quot;)<br>
x&lt;- rnorm(100)<br>
Summing2(x); sum(x)<br>
############################################<br>
gives:<br>
[1] 0<br>
[1] -9.220588<br>
<br>
Any help greatly appreciated.<br>
Cheers,<br>
<br>
<br>
--<br>
Cedric Ginestet<br>
Centre for Neuroimaging Sciences (L3.04)<br>
NIHR Biomedical Research Centre<br>
Institute of Psychiatry, Box P089<br>
Kings College London<br>
De Crespigny Park<br>
London<br>
SE5 8AF<br>
<br>
_______________________________________________<br>
Rcpp-devel mailing list<br>
<a href="mailto:Rcpp-devel@lists.r-forge.r-project.org" target="_blank">Rcpp-devel@lists.r-forge.r-project.org</a><br>
<a href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel" target="_blank">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel</a><br>
<br>
<br>
</blockquote></blockquote>
_______________________________________________<br>
Rcpp-devel mailing list<br>
<a href="mailto:Rcpp-devel@lists.r-forge.r-project.org" target="_blank">Rcpp-devel@lists.r-forge.r-project.org</a><br>
<a href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel" target="_blank">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel</a><br>
</div></div></blockquote></div><br>