Hi Kai, shit works fine in latest version of ROOT with latest version CINT. Cheers, Fons. Kai Koehler wrote: > > Dear ROOTERS, > > it took me more than an our of bug-searching to find out the > following interesting effect: > > This macro here: > > ULong_t a = 3000000000, b = 2000000000; > > void shit() > { > cout << " a is " << a << endl; > > if (a > b) > cout << " this is GREATER THAN " << b << endl; > if (a < b) > cout << " this is LOWER THAN " << b << endl; > } > > gives the following output when called in ROOT (Version > 2.25/03, SuSE Linux 7.0): > > root [0] .L shit.C > root [1] shit() > a is 3000000000 > this is LOWER THAN 2000000000 > > How comes ?? This happens no matter what intereger type a > and b are (UInt_t, ULong_t, > unsigned int, unsigned long). And 3000000000 is still lower > than 2^32. > > On the other hand, the following non-ROOT C-program > > #include <iostream> > #include <stdlib.h> > > unsigned int a = 3000000000, b = 2000000000; > > void main() > { > cout << " a is " << a << endl; > > if (a > b) > cout << " this is GREATER THAN " << b << endl; > if (a < b) > cout << " this is LOWER THAN " << b << endl; > } > > compiles like this: > > > g++ good.C -o good > good.C:4: warning: decimal integer constant is so large > that it is unsigned > > and gives: > > good > a is 3000000000 > this is GREATER THAN 2000000000 > > What is this ??? > > Kai > > -- > ====================================================================== > K A I - U . K Ö H L E R > ----------------------------- > Institut für Teilchenphysik Institute for Particle Physics > ETH Zürich Swiss Federal Institute of Technology > Paul Scherrer Institut Villigen PSI, Villigen, Switzerland > WLGA/E27 CH-5232 Villigen-PSI > Tel.: +41 (0)56 310 4691 eMail: kai.koehler@psi.ch > ---------------------------------------------------------------------- > priv.: K. & D. Köhler Zurzacherstr. 52 b > CH - 5200 Brugg Tel.: +41 (0)56 442 2973 > ====================================================================== -- Org: CERN, European Laboratory for Particle Physics. Mail: 1211 Geneve 23, Switzerland E-Mail: Fons.Rademakers@cern.ch Phone: +41 22 7679248 WWW: http://root.cern.ch/~rdm/ Fax: +41 22 7677910
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:43 MET