@@ -1456,7 +1456,7 @@ template<bool fwd, typename T> void pass_all(T c[], T0 fct) const
1456
1456
for (size_t i=0 ; i<length; ++i)
1457
1457
c[i] = ch[i]*fct;
1458
1458
else
1459
- std::copy (p1, p1+ length, c);
1459
+ std::copy_n (p1, length, c);
1460
1460
}
1461
1461
else
1462
1462
if (fct!=1 .)
@@ -2204,36 +2204,36 @@ template<typename T> void radbg(size_t ido, size_t ip, size_t l1,
2204
2204
}
2205
2205
}
2206
2206
2207
- template <typename T> void copy_and_norm (T *c, T *p1, size_t n, T0 fct) const
2207
+ template <typename T> void copy_and_norm (T *c, T *p1, T0 fct) const
2208
2208
{
2209
2209
if (p1!=c)
2210
2210
{
2211
2211
if (fct!=1 .)
2212
- for (size_t i=0 ; i<n ; ++i)
2212
+ for (size_t i=0 ; i<length ; ++i)
2213
2213
c[i] = fct*p1[i];
2214
2214
else
2215
- std::copy (p1, p1+ length, c);
2215
+ std::copy_n (p1, length, c);
2216
2216
}
2217
2217
else
2218
2218
if (fct!=1 .)
2219
- for (size_t i=0 ; i<n ; ++i)
2219
+ for (size_t i=0 ; i<length ; ++i)
2220
2220
c[i] *= fct;
2221
2221
}
2222
2222
2223
2223
public:
2224
2224
template <typename T> void exec (T c[], T0 fct, bool r2hc) const
2225
2225
{
2226
2226
if (length==1 ) { c[0 ]*=fct; return ; }
2227
- size_t n=length, nf=fact.size ();
2228
- arr<T> ch (n );
2227
+ size_t nf=fact.size ();
2228
+ arr<T> ch (length );
2229
2229
T *p1=c, *p2=ch.data ();
2230
2230
2231
2231
if (r2hc)
2232
- for (size_t k1=0 , l1=n ; k1<nf;++k1)
2232
+ for (size_t k1=0 , l1=length ; k1<nf;++k1)
2233
2233
{
2234
2234
size_t k=nf-k1-1 ;
2235
2235
size_t ip=fact[k].fct ;
2236
- size_t ido=n / l1;
2236
+ size_t ido=length / l1;
2237
2237
l1 /= ip;
2238
2238
if (ip==4 )
2239
2239
radf4 (ido, l1, p1, p2, fact[k].tw );
@@ -2251,7 +2251,7 @@ template<typename T> void radbg(size_t ido, size_t ip, size_t l1,
2251
2251
for (size_t k=0 , l1=1 ; k<nf; k++)
2252
2252
{
2253
2253
size_t ip = fact[k].fct ,
2254
- ido= n /(ip*l1);
2254
+ ido= length /(ip*l1);
2255
2255
if (ip==4 )
2256
2256
radb4 (ido, l1, p1, p2, fact[k].tw );
2257
2257
else if (ip==2 )
@@ -2266,7 +2266,7 @@ template<typename T> void radbg(size_t ido, size_t ip, size_t l1,
2266
2266
l1*=ip;
2267
2267
}
2268
2268
2269
- copy_and_norm (c,p1,n, fct);
2269
+ copy_and_norm (c,p1,fct);
2270
2270
}
2271
2271
2272
2272
private:
@@ -2437,12 +2437,12 @@ template<typename T0> class fftblue
2437
2437
tmp[m].Set (c[m], zero);
2438
2438
fft<true >(tmp.data (),fct);
2439
2439
c[0 ] = tmp[0 ].r ;
2440
- std::copy (&tmp[1 ].r , &tmp[ 1 ]. r + n-1 , &c[1 ]);
2440
+ std::copy_n (&tmp[1 ].r , n-1 , &c[1 ]);
2441
2441
}
2442
2442
else
2443
2443
{
2444
2444
tmp[0 ].Set (c[0 ],c[0 ]*0 );
2445
- std::copy (c+1 , c+n , &tmp[1 ].r );
2445
+ std::copy_n (c+1 , n- 1 , &tmp[1 ].r );
2446
2446
if ((n&1 )==0 ) tmp[n/2 ].i =T0 (0 )*c[0 ];
2447
2447
for (size_t m=1 ; 2 *m<n; ++m)
2448
2448
tmp[n-m].Set (tmp[m].r , -tmp[m].i );
0 commit comments