Le 02/04/13 17:57, Dirk Eddelbuettel a écrit :

I agree with everybody too :)

I still like my example, and I obviously respect operator- "in general".

What I can't square is whether the code for operator- (which I may in fact
have defined the way I like it) _actually gets called_.

Of course it is called.

If I switch your code to

int   operator-(const Date& d1, const Date& d2) {
        Rprintf( "d1 = %d\n", d1.m_d ) ;
        Rprintf( "d2 = %d\n", d2.m_d ) ;
        int diff =  d2.m_d - d1.m_d;
        Rprintf( "diff = %d\n", diff );
        return diff ;
    }

or similar in class Datetime.

> NewYear <- as.Date("2013-01-01")

> Easter <- Sys.Date()

> cppFunction('double ddiff(Date a, Date b) { return a - b; }')

> cppFunction('double ddiff2(Date a, Date b) { return b - a; }')

> ddiff(NewYear, Easter)
d1 = 1606400880
d2 = 1606389816
diff = 91
[1] 91

> ddiff2(NewYear, Easter)
d1 = 1606400944
d2 = 1606389816
diff = -91
[1] -91

This is getting ridiculous.


In what I sent on March 31 as the NewYear/Easter example:

   R> NewYear <- as.Date("2013-01-01")
   R> Easter <- Sys.Date()
   R> cppFunction('double ddiff(Date a, Date b) { return a - b; }')
   R> cppFunction('double ddiff2(Date a, Date b) { return b - a; }')
   R> ddiff(NewYear, Easter)
   [1] 89                            ## I find this more logical
   R> ddiff2(NewYear, Easter)
   [1] -89                           ## closer to R's difftime and 'odd' to me
   R>

If it isn't used here, where is it actually used?

Dirk



--
Romain Francois
Professional R Enthusiast
+33(0) 6 28 91 30 30

R Graph Gallery: http://gallery.r-enthusiasts.com

blog:            http://blog.r-enthusiasts.com
|- http://bit.ly/ZTFLDo : Simpler R help tooltips
`- http://bit.ly/YFsziW : R Help tooltips

_______________________________________________
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