Changeset 2989 in Sophya for trunk/SophyaExt/IFFTW/fftwserver.cc
- Timestamp:
- Jun 23, 2006, 12:31:39 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaExt/IFFTW/fftwserver.cc
r2842 r2989 334 334 else _p1drb = new FFTWServerPlan(out.Size(), FFTW_COMPLEX_TO_REAL, true); 335 335 336 ReShapetoReal(in, intemp );336 ReShapetoReal(in, intemp, usoutsz); 337 337 // cerr << " DEBUG-FFTWServer::FFTBackward() in = \n" << in << endl; 338 338 // cerr << " DEBUG-FFTWServer::FFTBackward() intemp = \n" << intemp << endl; … … 361 361 362 362 /* --Methode-- */ 363 void FFTWServer::ReShapetoReal(TArray< complex<r_8> > const & ina, TArray< r_8 > & outa) 363 void FFTWServer::ReShapetoReal(TArray< complex<r_8> > const & ina, TArray< r_8 > & outa, 364 bool usz) 364 365 { 365 366 TVector< complex<r_8> > in(ina); … … 367 368 int n = in.NElts(); 368 369 r_8 thr = FFTArrayChecker<r_8>::ZeroThreshold(); 369 sa_size_t ncs = ( (in(n-1).imag() < -thr) || (in(n-1).imag() > thr) ) ? 370 sa_size_t ncs; 371 if (usz) { 372 if ( (out.NElts() != 2*n-1) && (out.NElts() != 2*n-2) ) 373 throw SzMismatchError("FFTWServer::ReShapetoReal(..., true) - Wrong output array size "); 374 ncs = out.NElts(); 375 } 376 else { 377 sa_size_t ncs = ( (in(n-1).imag() < -thr) || (in(n-1).imag() > thr) ) ? 370 378 ncs = 2*n-1 : ncs = 2*n-2; 371 379 372 if (out.NElts() != ncs) { 373 cerr << " DEBUG-FFTWServer::ReShapetoReal() ncs= " << ncs 374 << " out.NElts()= " << out.NElts() << endl; 375 throw SzMismatchError("FFTWServer::ReShapetoReal() - Wrong output array size !"); 380 if (out.NElts() != ncs) { 381 cerr << " DEBUG-FFTWServer::ReShapetoReal() ncs= " << ncs 382 << " out.NElts()= " << out.NElts() << endl; 383 throw SzMismatchError("FFTWServer::ReShapetoReal() - Wrong output array size !"); 384 } 376 385 } 377 386 // if (ncs == 2*n-2) {
Note:
See TracChangeset
for help on using the changeset viewer.