[Rcpp-devel] Datetime substraction bug ?

Romain Francois romain at r-enthusiasts.com
Tue Apr 2 16:33:00 CEST 2013


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.girard at 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 at lists.r-forge.r-project.org
> | https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
>


-- 
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



More information about the Rcpp-devel mailing list