Re: [ROOT] TArrayI::Reset() implementation change

From: Peter Elmer (Peter.Elmer@cern.ch)
Date: Mon Apr 05 2004 - 16:42:31 MEST


  Hi Philippe,

  For now we are just continuing to use 3.10-01, which we have been using for
a while. We can wait until next week, so no big hurry.

                                   Pete

On Mon, Apr 05, 2004 at 09:41:05AM -0500, Philippe Canal wrote:
> Hi Pete, Gero,
> 
> A release of 3.10/02 patched would have to wait until at least next week (when
> Rene returns).  In the meantime, is it feasible for your to just patch your own
> releases?  At the very least I will make sure we get a tagged version of CVS
> corresponding to a patched version of ROOT 3.10/02 sometimes this week (whenever
> I can get a hold of Fons).
> 
> Cheers,
> Philippe.
> 
> -----Original Message-----
> From: Peter Elmer [mailto:Peter.Elmer@cern.ch]
> Sent: Monday, April 05, 2004 4:18 AM
> To: Gero Flucke
> Cc: Philippe Canal; roottalk@pcroot.cern.ch
> Subject: Re: [ROOT] TArrayI::Reset() implementation change
> 
> 
>   Hi,
> 
>   For the record, we (BaBar) are in the same situation: I'd hoped to move
> us ahead to 3.10-02 since in particular it eliminates many of the valgrind
> warnings, but we aren't ready to go to ROOT4 quite yet.
> 
>                                    Pete
> 
> On Mon, Apr 05, 2004 at 11:02:42AM +0200, Gero Flucke wrote:
> > On Fri, 2 Apr 2004, Philippe Canal wrote:
> > 
> > > Hi Peter,
> > >
> > > The problem will be correct in the CVS repository as soon as Fons
> > > comes back (next week).
> > >
> > 
> > Hi ROOT team,
> > will there be a fixed 3.10_03 then? I (and probably many others) would
> > not like to change to the development releases 4.00_XX yet.
> > 
> > Cheers
> > 
> > 	Gero
> > 
> > > >   Hi Rene,
> > > >
> > > >   I see that between ROOT 3.10-01 and 3.10-02, the following change was
> > > made
> > > > to TArrayI::Reset(...):
> > > >
> > > > < // @(#)root/cont:$Name:  $:$Id: TArrayI.h,v 1.14 2002/10/30 20:39:50
> > > brun
> > > > Exp $
> > > > ---
> > > > > // @(#)root/cont:$Name:  $:$Id: TArrayI.h,v 1.16 2003/11/14 11:17:13
> > > brun
> > > > Exp $
> > > > 44c44
> > > > <    void         Copy(TArrayI &array) const {array.Set(fN); for (Int_t
> > > > i=0;i<fN;i++) array.fArray[i] = fArray[i];}
> > > > ---
> > > > >    void         Copy(TArrayI &array) const {array.Set(fN,fArray);}
> > > > 48,49c48
> > > > <    void         Reset()           {memset(fArray, 0, fN*sizeof(Int_t));}
> > > > <    void         Reset(Int_t val)  {for (Int_t i=0;i<fN;i++) fArray[i] =
> > > > val;}
> > > > ---
> > > > >    void         Reset(Int_t val=0)  {memset(fArray,val,
> > > > fN*sizeof(Int_t));}
> > > >
> > > >   For values of val other than 0, I think this actually changes the
> > > > implementation since memset (IIRC) fills the array >byte-by-byte< with
> > > > the value "val" (and not array-index by array-index). Was that change
> > > > intentional? (We were relying on the original implementation in some of
> > > our
> > > > code.)
> > > >
> > > >                                  thanks,
> > > >                                    Pete
> > > >
> > >
> 



-------------------------------------------------------------------------
Peter Elmer     E-mail: Peter.Elmer@cern.ch      Phone: +41 (22) 767-4644
Address: CERN Division PPE, Bat. 32 2C-14, CH-1211 Geneva 23, Switzerland
-------------------------------------------------------------------------



This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:07 MET