I've put back the Reset version with the explicit loop and the expected behaviour. -- Fons. On Fri, 2004-04-02 at 17:30, Philippe Canal wrote: > Hi Pete, > > I don't think that this is intentional. > The change was made (incorrectly!) to improve speed without changing > behavior. > > Do you know of a better solution (than returning to the loop)? > > Cheers, > Philippe. > > > > -----Original Message----- > From: owner-roottalk@pcroot.cern.ch > [mailto:owner-roottalk@pcroot.cern.ch]On Behalf Of Peter Elmer > Sent: Friday, April 02, 2004 6:07 AM > To: roottalk@pcroot.cern.ch > Subject: [ROOT] TArrayI::Reset() implementation change > > > 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 > ------------------------------------------------------------------------- > > > ################################################################# > ################################################################# > ################################################################# > ##### > ##### > ##### > ################################################################# > ################################################################# > ################################################################# > > ################################################################# > ################################################################# > ################################################################# > ##### > ##### > ##### > ################################################################# > ################################################################# > ################################################################# -- Org: CERN, European Laboratory for Particle Physics. Mail: 1211 Geneve 23, Switzerland E-Mail: Fons.Rademakers@cern.ch Phone: +41 22 7679248 WWW: http://www.rademakers.org/fons/ Fax: +41 22 7679480
This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:07 MET