Hi,
I tried the following using ROOT 5.08.00 on both Red Hat Linux Enterprise 3 and Windows XP.
On Linux:
root [0] long long i
root [1] i = 1 << 30
(const long long)1073741824
root [2] i *= 10
(long long)10737418240
root [3] Long64_t j
root [4] j = 1 << 30
(const long long)1073741824
root [5] j *= 10
(Long64_t)10737418240
and on windows
root [0] long long i
root [1] i = 1 << 30
(const long long)1073741824
root [2] i *= 10
(long long)-2147483648
root [3] Long64_t j
root [4] j = 1 << 30
(const long long)1073741824
root [5] j *= 10
(Long64_t)2147483648
You can see the difference in the behavior on linux and windows.
Is the support for Long64 complete in CINT on Windows?
Thanks,
Heather
pcanal
2
This has been fixed in the CVS repository.
Cheers,
Philippe
brun
3
Hi Heather,
I cannot reproduce this problem with Long64_t
Did you install yourself from source?
Did you run make cintdlls ?
I assume that you run with VC++7.1 or newer
Rene
Hi Rene,
I didn’t compile this copy myself. I took one of the binary distributions and downloaded from:
root.cern.ch/root/Version508.html
Using the link:
WindowsXP/NT/w2000 with VC++ 7.1 (runs with VC++6 and VC++8.0), version 5.08/00 (good old tar file) WIN32GDK (35.4 MB).
The file I downloaded was:
root_v5.08.00.win32gdk.tar.gz
I’ve had other windows users note the same problem.
But I take it from Philippe’s post that this has been fixed?
Thanks,
Heather