Re: [ROOT] TComplex and 64 bit in root?

From: Rene Brun (Rene.Brun@cern.ch)
Date: Thu Feb 14 2002 - 17:36:21 MET


Hi Peter,

Sorry for the long delay to answer your mail.

I do not think that a Complex_t type is sufficient. I suppose that
you also want to use the normal complex arithmetics, etc.

The recently-standardized C++ library includes a complex type, as a template
rather than simply a class. Basing complex on
a template allows for specification of the underlying scalar type, with
specializations provided for float, double, and long
double. So three complex class types are guaranteed to be defined: 

        std::complex<float>

        std::complex<double>

        std::complex<long double>

I have to evaluate the current availability/portability/emulation etc.
This should be supported in native mode by the I/O system.
It would be nice if somebody could do some preparatory work.

We are planning to introduce the Long64_t type in the coming release.
We are waiting support for long long by Masa in CINT. Once this is available,
the mods in the I/O system are trivial.

Long64_t is required before extending the maximum file size (2 GB).
All the hooks are already there for this operation. However, note that
people who have tried to use large files have experienced serious problems
with many tools and decided to step back.

Rene Brun


Peter Lipa wrote:
> 
> Dear Fons&Rene,
> 
> What is the best way to introduce a complex data type (actually both, compex
> floats and
> complex doubles) into root?
> The complex type should have real and imaginary parts stored sequentially in
> memory - to make
> it easy to link to fortran legacy libs (such as FFT, complex matrix
> algebrea, etc).
> 
> The main question is: do you plan to support a Complex_t and a ComplexD_t
> type (or similar
> root names) in the near future and have the streamers, trees etc support
> this type natively?
> (Can't do FFT without some complex type!!). That would be great (and easy to
> do).
> Otherwise we would have to come up with some TComplex class on our own.
> In the latter case, would you be so kind and give us some advice how YOU
> would design a TComplex
> class the integrates most easily into the root architecture?
> Is the STL complex template supported, or is this still not an advisable
> route?
> 
> The same for int64 type. (There you mentioned a few weeks ago you would
> support this type in an
> upcoming version. Guess, we just have to be patient on that one.....)
> 
> Also, I was wondering, with the advent of 64bit intel processors, would it
> be hard to
> convert root files to 64 bit addressing, thereby lifting the 2Gb file size
> limit?
> Any plans regarding 64bit?
> 
> Thanks,
> Peter
> 
> ****************************************************************************
> Peter Lipa, PhD                            e-mail: lipa@nsma.arizona.edu
> Arizona Research Labs - Neural Systems, Memory and Aging
> University of Arizona
> Life Sciences North Bldg, Room 384;   Phone: (520) 626-3101
> Tucson, AZ 85724-515                       Fax: (520) 626-2618
> ****************************************************************************



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:41 MET