From e9d963191e2a789d63cec7addab022909388754d Mon Sep 17 00:00:00 2001 From: Francois Gygi Date: Wed, 13 May 2020 12:48:05 -0700 Subject: [PATCH] Use memset to zero arrays in BasisMapping --- src/BasisMapping.C | 31 ++++++++++++------------------- 1 file changed, 12 insertions(+), 19 deletions(-) diff --git a/src/BasisMapping.C b/src/BasisMapping.C index 96da0c0..e88fdb2 100644 --- a/src/BasisMapping.C +++ b/src/BasisMapping.C @@ -442,18 +442,11 @@ void BasisMapping::transpose_bwd(const complex *zvec, rbuf = sbuf; #endif - // copy from rbuf to ct - // scatter index array iunpack - { - const int len = np012loc_; - double* const pv = (double*) ct; - for ( int i = 0; i < len; i++ ) - { - pv[2*i] = 0.0; - pv[2*i+1] = 0.0; - } - } + // clear ct + memset((void*)ct,0,np012loc_*sizeof(complex)); + // copy from rbuf to ct + // using scatter index array iunpack #if USE_GATHER_SCATTER // zsctr(n,x,indx,y): y(indx(i)) = x(i) { @@ -553,15 +546,12 @@ void BasisMapping::transpose_fwd(const complex *ct, void BasisMapping::vector_to_zvec(const complex *c, complex *zvec) const { + // clear zvec + memset((void*)&zvec[0],0,zvec_size()*sizeof(complex)); + // map coefficients from the basis order to a zvec - const int ng = basis_.localsize(); - const int len = zvec_size(); double* const pz = (double*) zvec; - for ( int i = 0; i < len; i++ ) - { - pz[2*i] = 0.0; - pz[2*i+1] = 0.0; - } + const int ng = basis_.localsize(); const double* const pc = (const double*) c; if ( basis_.real() ) { @@ -595,9 +585,12 @@ void BasisMapping::vector_to_zvec(const complex *c, void BasisMapping::doublevector_to_zvec(const complex *c1, const complex *c2, complex *zvec) const { - // map two real functions to zvec assert(basis_.real()); + + // clear zvec memset((void*)&zvec[0],0,zvec_size()*sizeof(complex)); + + // map two real functions to zvec double* const pz = (double*) &zvec[0]; const int ng = basis_.localsize(); const double* const pc1 = (double*) &c1[0]; -- libgit2 0.26.0