Ok, i'll do this.
Thanks and have a nice day,

Pierre

Le 26/02/2015 16:51, Dirk Eddelbuettel a écrit :
On 26 February 2015 at 16:37, Pierre GLOAGUEN wrote:
| Thanks, it works!
| I'm not familiar with C++, is it necessary to always use such a function in 
C++
| or is it because of R/C++ interface?

Please use a Google search (or equivalent) for Rcpp::clone.  This has been
discussed extensively on numerous occassions.

Dirk

| Thanks again for your help,
|
| Pierre
|
| Le 26/02/2015 16:30, Jeffrey Pollock a écrit :
|
|     Perhaps use the clone() function?
|
|     library(Rcpp)
|
|     cppFunction("
|     NumericVector par_CMAtR(NumericVector vec_CMA) {
|         NumericVector out = clone(vec_CMA);
|         out[5] = exp(out[5]);
|         return out;
|     }
|     ")
|
|     vec_C<- rep(1, 6)
|     par_CMAtR(vec_C)
|     print(vec_C)
|
|     On Thu, Feb 26, 2015 at 3:16 PM, Pierre GLOAGUEN<
|     pierre.gloag...@ifremer.fr>  wrote:
|
|
|         Hello everybody,
|
|         I have a very simple example
|         I have a vector vec_CMA which length is a multiple of 6.
|         I want to get the exact same vector, except the last element which is
|         the exponential of the last element of vec_CMA
|         The code is the following
|
|         //myfun.cpp
|         #include<Rcpp.h>
|         using namespace Rcpp;
|
|         // [[Rcpp::export]]
|         NumericVector par_CMAtR(NumericVector vec_CMA){
|           int K = (vec_CMA.size())/6;
|           NumericVector out(6*K);
|           out = vec_CMA;
|           out[6*K-1] = exp(vec_CMA[6*K-1]);
|           return out;
|         }
|
|         I apply the function with the R code
|         sourceCpp("myfun.cpp")
|         vec_C<- rep(1,6)
|         par_CMAtR(vec_C)
|         [1] 1 1 1 1 1 2.718282
|
|         8
|
|         works fine. Except the vec_C is modified too!
|         vec_C
|         [1] 1 1 1 1 1 2.718282
|
|         It's the first time I have this kind of problem. What is wrong in my
|         code?
|         Thanks for your help,
|
|         Pierre Gloaguen
|
|
|         _______________________________________________
|         Rcpp-devel mailing list
|         Rcpp-devel@lists.r-forge.r-project.org
|         
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
|
|
|
| _______________________________________________
| Rcpp-devel mailing list
| Rcpp-devel@lists.r-forge.r-project.org
| https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel

_______________________________________________
Rcpp-devel mailing list
Rcpp-devel@lists.r-forge.r-project.org
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel

Reply via email to