[Rcpp-devel] Multiplication of ComplexVector?
Romain Francois
romain at r-enthusiasts.com
Fri Aug 20 14:37:05 CEST 2010
Hi,
I have now added these 4 operators into Rcpp :
Rcomplex operator*( const Rcomplex& lhs, const Rcomplex& rhs) ;
Rcomplex operator+( const Rcomplex& lhs, const Rcomplex& rhs) ;
Rcomplex operator-( const Rcomplex& lhs, const Rcomplex& rhs) ;
Rcomplex operator/( const Rcomplex& a, const Rcomplex& b) ;
So they will definitely be included in the next version 0.8.6 when we
release it.
Romain
Le 17/08/10 02:19, Christian Gunning a écrit :
> Dear list,
>
> I'm trying to use the ComplexVector class, and I'm having difficulty
> with multiplication. I sugar multiplication, element-by-element
> multiplication (no * operator for either), and using temporary
> Rcomplex variables (don't really understand what I'm doing here).
>
> I was able to successfully import get("*") as an Rcpp::Function and do
> the multiplication through R. Is this the best option for now?
>
> Thanks,
> Christian Gunning
> University of New Mexico
>
> // doesn't work
> SEXP rcpp_hello_world(SEXP i, SEXP ii){
> using namespace Rcpp ;
>
> ComplexVector y1(i), y2(ii);
> int n(y1.size()), j;
> ComplexVector y3(n), y4(n);
> y3 = y1 * y2; // no operator
> for (j = 0; j++; j<n) {
> y4[j] = y1[j] + y2[j]; // no operator
> }
> List z = List::create( y1, y2, y3) ;
> return z ;
> }
>
> // does work, doing multiplication in R
> SEXP mymult(SEXP input1, SEXP input2) {
> Rcpp::Environment base("package:base");
> Rcpp::Function funbase = base["get"];
> SEXP funbase1 = funbase("*");
> Rcpp::Function funmult(funbase1);
> Rcpp::ComplexVector xxa = funmult(input1, input2);
> return xxa;
> }
>
> SEXP rcpp_hello_world(SEXP i, SEXP ii){
> using namespace Rcpp ;
> ComplexVector y3( mymult(i, ii) );
> return y3 ;
> }
--
Romain Francois
Professional R Enthusiast
+33(0) 6 28 91 30 30
http://romainfrancois.blog.free.fr
|- http://bit.ly/bzoWrs : Rcpp svn revision 2000
|- http://bit.ly/b8VNE2 : Rcpp at LondonR, oct 5th
`- http://bit.ly/aAyra4 : highlight 0.2-2
More information about the Rcpp-devel
mailing list