I don't have any problem with Dirk's convention, and as Dirk said that should not create such a discussion (and it was not my intention to create one, just to point a problem I had if this can help others).
However I think that your example is designed to miss my point. My point was that the syntax for the use of operator "-" is NOT "-(c(1,3))" but "1-3" which makes the logical assertion "(1-3)>0" true. This is not what I would call a usual convention. Nothing more to say. Still in deep addictive love with Rcpp... R. ----- Mail original ----- De: "Patrick Burns" <patr...@burns-stat.com> À: rcpp-devel@lists.r-forge.r-project.org Envoyé: Mardi 2 Avril 2013 17:34:37 Objet: Re: [Rcpp-devel] Datetime substraction bug ? In case Dirk is feeling lonely, I'll side with him. I think the ultimate issue is abstraction versus application. In a purely abstract setting, then I agree that `-`(1, 3) should be negative. But we don't have a purely abstract setting. I agree with Dirk's New Year's/Easter example -- if the dates are in order, then the diff should be positive to my mind. Note also: > diff(c(1, 3)) [1] 2 Pat On 02/04/2013 15:33, Romain Francois wrote: > Le 30/03/13 00:44, Dirk Eddelbuettel a écrit : >> >> On 29 March 2013 at 23:37, Robin Girard wrote: >> | Hi List >> | >> | why is it that we have in the Datetime definition >> | (here >> http://dirk.eddelbuettel.com/code/rcpp/html/Date_8cpp_source.html#l00271 >> ) >> | >> | double operator-(const Datetime& d1, const Datetime& d2) { return >> d2.m_dt - d1.m_dt; } >> | bool operator<(const Datetime &d1, const Datetime& d2) { return >> d1.m_dt < d2.m_dt; } >> | >> | I feel there is a contradiction >> | substraction shoulb be d1.m_dt - d2.m_dt; no ? >> >> It's been a while since I wrote that and I think I followed the >> difftime() >> convention in R. Or maybe not. To me d1 comes before d2 in the way the >> arguments are given, so d2 is larger and I want to subtract d1 from d2. > > Well. operator-(a, b) is supposed to implement a-b. See e.g. wikipedia > http://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B > > The current implementation does not make sense to me. So I second Robin > here. > >> In any event, if it bugs you greatly you are always free to write your >> own >> function. ;-) >> >> Dirk > > wtf. This is the same as saying 3-1 = -2 > > And if i follow your logic, why is the operator< implemented this way > (correctly this time). > >> | Robin >> | >> | Dr. Girard Robin >> | Chargé de Recherche >> | >> | MINES-ParisTech / Département Energétique et Procédés / PERSEE / >> Groupe ERSEI >> | Centre Procédés, Energies Renouvelables et Systèmes Energétiques >> (PERSEE) >> | Center for Processes, Renewables Energies and Energy Systems >> | Renewable Energies & Smartgrids (ERSEI) >> | >> | 1 Rue Claude Daunesse - CS 10207 - F-06904 Sophia Antipolis Cedex >> | Tel: +33.4.93.67.89.64 (~99), Fax: +33.4.93.95.75.35 >> | e-mail : robin.gir...@mines-paristech.fr >> | >> | web page perso >> http://www.mines-paristech.fr/Services/Annuaire/&?id=8828 >> | statoverflow : http://stats.stackexchange.com/users/223/robin-girard >> | web page centre PERSEE : http://www.cep.mines-paristech.fr/ >> | linkedin : http://www.linkedin.com/profile/view?id=14907272&trk=tab_pro >> | >> | Le lien vaut mieux que le bien. >> | ________________________________________________________ >> | >> | CONFIDENTIALITY : This e-mail and any attachments are >> | confidential and may be privileged. If you are not a >> | named recipient, please notify the sender immediately and >> | do not disclose the contents to another person, use it for >> | any purpose or store or copy the information in any medium. >> | >> | CONFIDENTIALITE : Ce message et les éventuelles pièces >> | attachées sontconfidentiels et peuvent être une >> | communication protégée. Si vous n'êtes pas dans la liste >> | des destinataires, veuillez informer l'expéditeur >> | immédiatement et ne pas ouvrir ni divulguer le contenu >> | à une tierce personne, ne pas l'utiliser pour quelque >> | raison que ce soit, ne pas stocker ou copier l'information >> | qu'il contient sur un quelconque support. >> | >> | _______________________________________________ >> | 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 >> > > -- Patrick Burns patr...@burns-stat.com http://www.burns-stat.com http://www.portfolioprobe.com/blog twitter: @burnsstat @portfolioprobe _______________________________________________ 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