Re: 8 byte long long and rootcint

Fons Rademakers (Fons.Rademakers@cern.ch)
Thu, 01 Oct 1998 18:10:24 +0200


In ROOT we would like to make Long_t 64 bit on all platforms. However,
due to the fact that some platforms still do not support "long long"
we can not achieve this. A result is that Long_t is not yet a portable
data type (e.g. when storing it in the ROOT db). On 64 bit machines
(Alpha) it is 64 bit elsewhere 32 bit (and we don't want to typedef
Long_t to 32 bit on Alpha!). Since more and more compilers are
accepting "long long" we will soon start support for 64 bit Long_t on
those platforms. For the time being use a double or two int's to
store a 64 bit value in the db.

Cheers, Fons.

Masaharu Goto wrote:
>
> Reiner,
>
> >I have a member variable in a class of 8 byte integer (long long).
> >
> >The header file (TimeDef.h) with this class is included in the rootcint call.
> >Now I get these error messages:
> >Error: source file "long.dl" cannot open FILE:hk_time/../tools/TimeDef.h
> >LINE:33
> >Error: 'long long' not ready. Go to $CINTSYSDIR/lib/longlong and run setup
> >FILE:hk_time/../tools/TimeDef.h LINE:33
> >
> >I don't know the file "long.dl" and where is the $CINTSYSDIR/lib/longlong
> >directory. Can I run setup by myself?
>
> Currently, 'long long' type is supported by some computer platforms but not al
> l.So, I separated implementation of 'long long' into a different DLL. It is
> currently tested only on Linux and Windows-NT/9x. For other platforms, long.dl
> should be built with minor modification it the platform supports 'long long'.
> To do so, you need to download cint source package from
> http://root.cern.ch/Cint.html
> You need to copy $CINTSYSDIR/include/long.dl to $ROOTDIR/cint/include/long.dl.
> If you successfully build long.dl in other platform, please let me know and
> give me that change you made.
>
> Rene askes why using this platform dependent method. Because 'long long' is
> platform dependent itself. This is inevitable for now I think.
>
> There are still many ROOT running platforms which do not have 'long long'.
> I guess ROOT has 8 byte integer type. It would be better using it. (Is this
> correct Fons?)
>
> Masaharu Goto

-- 
Org:    CERN, European Laboratory for Particle Physics.
Mail:   1211 Geneve 23, Switzerland          Phone: +41 22 7679248
E-Mail: Fons.Rademakers@cern.ch              Fax:   +41 22 7677910