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

From: Gero Flucke (gero.flucke@desy.de)
Date: Mon Apr 05 2004 - 11:02:42 MEST


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
> >
>



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