|
|
|
@ -193,6 +193,8 @@ void fourt(chunk_array_t* datar, chunk_array_t* datai, int nn[3], int ndim, int
|
|
|
|
|
printf("[1] datar[%d] = %f\n", i, valueri);
|
|
|
|
|
chunk_array_get(datar, i+1, &valueri1);
|
|
|
|
|
printf("[2] datar[%d] = %f\n", i+1, valueri1);
|
|
|
|
|
printf("[48] Saving in datar the value %f in pos %d\n", valueri, j);
|
|
|
|
|
printf("[49] Saving in datai the value %f in pos %d\n", valueri1, j);
|
|
|
|
|
chunk_array_save(datar, j, valueri);
|
|
|
|
|
chunk_array_save(datai, j, valueri1);
|
|
|
|
|
i += 2;
|
|
|
|
@ -225,6 +227,11 @@ void fourt(chunk_array_t* datar, chunk_array_t* datai, int nn[3], int ndim, int
|
|
|
|
|
tempr = valueri3;
|
|
|
|
|
tempi = valueii3;
|
|
|
|
|
|
|
|
|
|
printf("[50] Saving in datar the value %f in pos %d\n", valuerj3, i3);
|
|
|
|
|
printf("[51] Saving in datai the value %f in pos %d\n", valueij3, i3);
|
|
|
|
|
printf("[52] Saving in datar the value %f in pos %d\n", tempr, j3);
|
|
|
|
|
printf("[53] Saving in datai the value %f in pos %d\n", tempi, j3);
|
|
|
|
|
|
|
|
|
|
chunk_array_save(datar, i3, valuerj3);
|
|
|
|
|
chunk_array_save(datai, i3, valueij3);
|
|
|
|
|
chunk_array_save(datar, j3, tempr);
|
|
|
|
@ -282,6 +289,9 @@ void fourt(chunk_array_t* datar, chunk_array_t* datai, int nn[3], int ndim, int
|
|
|
|
|
i2max = i3 + np2 - np1;
|
|
|
|
|
i = 1;
|
|
|
|
|
for (i2 = i3; i2 <= i2max; i2 += np1) {
|
|
|
|
|
printf("[54] Saving in datar the value %f in pos %d\n", workr[i], i2);
|
|
|
|
|
printf("[55] Saving in datai the value %f in pos %d\n", worki[i], i2);
|
|
|
|
|
|
|
|
|
|
chunk_array_save(datar, i2, workr[i]);
|
|
|
|
|
chunk_array_save(datai, i2, worki[i]);
|
|
|
|
|
i++;
|
|
|
|
@ -318,6 +328,12 @@ void fourt(chunk_array_t* datar, chunk_array_t* datai, int nn[3], int ndim, int
|
|
|
|
|
chunk_array_save(datai, i, valueij - tempi);
|
|
|
|
|
chunk_array_save(datar, j, valuerj + tempr);
|
|
|
|
|
chunk_array_save(datai, j, valueij + tempi);
|
|
|
|
|
|
|
|
|
|
printf("[56] Saving in datar the value %f in pos %d\n", valuerj - tempr, i);
|
|
|
|
|
printf("[57] Saving in datai the value %f in pos %d\n", valueij - tempi, i);
|
|
|
|
|
printf("[58] Saving in datar the value %f in pos %d\n", valuerj + tempr, j);
|
|
|
|
|
printf("[59] Saving in datai the value %f in pos %d\n", valueij + tempi, j);
|
|
|
|
|
|
|
|
|
|
j += istep;
|
|
|
|
|
}
|
|
|
|
|
imin = 2 * imin - i1;
|
|
|
|
@ -359,6 +375,9 @@ void fourt(chunk_array_t* datar, chunk_array_t* datai, int nn[3], int ndim, int
|
|
|
|
|
chunk_array_save(datar, i, valuerj - tempr);
|
|
|
|
|
chunk_array_save(datai, i, valueij - tempi);
|
|
|
|
|
|
|
|
|
|
printf("[60] Saving in datar the value %f in pos %d\n", valuerj - tempr, i);
|
|
|
|
|
printf("[61] Saving in datai the value %f in pos %d\n", valueij - tempi, i);
|
|
|
|
|
|
|
|
|
|
chunk_array_get(datar, j, &valuerj);
|
|
|
|
|
chunk_array_get(datai, j, &valueij);
|
|
|
|
|
|
|
|
|
@ -367,6 +386,10 @@ void fourt(chunk_array_t* datar, chunk_array_t* datai, int nn[3], int ndim, int
|
|
|
|
|
|
|
|
|
|
chunk_array_save(datar, j, valuerj + tempr);
|
|
|
|
|
chunk_array_save(datai, j, valueij + tempi);
|
|
|
|
|
|
|
|
|
|
printf("[62] Saving in datar the value %f in pos %d\n", valuerj + tempr, j);
|
|
|
|
|
printf("[63] Saving in datai the value %f in pos %d\n", valueij + tempi, j);
|
|
|
|
|
|
|
|
|
|
j += istep;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -415,10 +438,17 @@ void fourt(chunk_array_t* datar, chunk_array_t* datai, int nn[3], int ndim, int
|
|
|
|
|
|
|
|
|
|
tempr = valueri * wr - valueii * wi;
|
|
|
|
|
tempi = valueri * wi + valueii * wr;
|
|
|
|
|
|
|
|
|
|
chunk_array_save(datar, i, valuerj - tempr);
|
|
|
|
|
chunk_array_save(datai, i, valueij - tempi);
|
|
|
|
|
chunk_array_save(datar, j, valuerj + tempr);
|
|
|
|
|
chunk_array_save(datai, j, valueij + tempi);
|
|
|
|
|
|
|
|
|
|
printf("[64] Saving in datar the value %f in pos %d\n", valuerj - tempr, i);
|
|
|
|
|
printf("[65] Saving in datai the value %f in pos %d\n", valueij - tempi, i);
|
|
|
|
|
printf("[66] Saving in datar the value %f in pos %d\n", valuerj + tempr, j);
|
|
|
|
|
printf("[67] Saving in datai the value %f in pos %d\n", valueij + tempi, j);
|
|
|
|
|
|
|
|
|
|
j += istep;
|
|
|
|
|
}
|
|
|
|
|
imin = 2 * imin - i1;
|
|
|
|
@ -510,6 +540,9 @@ void fourt(chunk_array_t* datar, chunk_array_t* datai, int nn[3], int ndim, int
|
|
|
|
|
for (j2 = i3; j2 <= j2max; j2 += ifp1) {
|
|
|
|
|
j3max = j2 + np2 - ifp2;
|
|
|
|
|
for (j3 = j2; j3 <= j3max; j3 += ifp2) {
|
|
|
|
|
printf("[68] Saving in datar the value %f in pos %d\n", workr[i], j3);
|
|
|
|
|
printf("[69] Saving in datai the value %f in pos %d\n", worki[i], j3);
|
|
|
|
|
|
|
|
|
|
chunk_array_save(datar, j3, workr[i]);
|
|
|
|
|
chunk_array_save(datai, j3, worki[i]);
|
|
|
|
|
i++;
|
|
|
|
@ -571,10 +604,17 @@ void fourt(chunk_array_t* datar, chunk_array_t* datai, int nn[3], int ndim, int
|
|
|
|
|
difi = (valueii - valueij) / 2.;
|
|
|
|
|
tempr = wr * sumi + wi * difr;
|
|
|
|
|
tempi = wi * sumi - wr * difr;
|
|
|
|
|
|
|
|
|
|
chunk_array_save(datar, i, sumr + tempr);
|
|
|
|
|
chunk_array_save(datai, i, difi + tempi);
|
|
|
|
|
chunk_array_save(datar, j, sumr - tempr);
|
|
|
|
|
chunk_array_save(datai, j, tempi - difi);
|
|
|
|
|
|
|
|
|
|
printf("[70] Saving in datar the value %f in pos %d\n", sumr + tempr, i);
|
|
|
|
|
printf("[71] Saving in datai the value %f in pos %d\n", difi + tempi, i);
|
|
|
|
|
printf("[72] Saving in datar the value %f in pos %d\n", sumr - tempr, j);
|
|
|
|
|
printf("[73] Saving in datai the value %f in pos %d\n", tempi - difi, j);
|
|
|
|
|
|
|
|
|
|
j += np2;
|
|
|
|
|
}
|
|
|
|
|
imin++;
|
|
|
|
@ -594,6 +634,7 @@ void fourt(chunk_array_t* datar, chunk_array_t* datai, int nn[3], int ndim, int
|
|
|
|
|
chunk_array_get(datai, i, &valueii);
|
|
|
|
|
printf("[33] datai[%d] = %f\n", i, valueii);
|
|
|
|
|
chunk_array_save(datai, i, -valueii);
|
|
|
|
|
printf("[73] Saving in datai the value %f in pos %d\n", -valueii, i);
|
|
|
|
|
}
|
|
|
|
|
L740:
|
|
|
|
|
np2 *= 2;
|
|
|
|
@ -613,6 +654,10 @@ void fourt(chunk_array_t* datar, chunk_array_t* datai, int nn[3], int ndim, int
|
|
|
|
|
|
|
|
|
|
chunk_array_save(datar, j, valueri);
|
|
|
|
|
chunk_array_save(datai, j, -valueii);
|
|
|
|
|
|
|
|
|
|
printf("[74] Saving in datar the value %f in pos %d\n", valueri, j);
|
|
|
|
|
printf("[75] Saving in datai the value %f in pos %d\n", -valueii, j);
|
|
|
|
|
|
|
|
|
|
L755:
|
|
|
|
|
i++;
|
|
|
|
|
j--;
|
|
|
|
@ -626,6 +671,10 @@ void fourt(chunk_array_t* datar, chunk_array_t* datai, int nn[3], int ndim, int
|
|
|
|
|
|
|
|
|
|
chunk_array_save(datar, j, valuerimin - valueiimin);
|
|
|
|
|
chunk_array_save(datai, j, 0.);
|
|
|
|
|
|
|
|
|
|
printf("[75] Saving in datar the value %f in pos %d\n", valuerimin - valueiimin, j);
|
|
|
|
|
printf("[76] Saving in datai the value %f in pos %d\n", 0., j);
|
|
|
|
|
|
|
|
|
|
if (i >= j) {
|
|
|
|
|
goto L780;
|
|
|
|
|
} else {
|
|
|
|
@ -640,6 +689,10 @@ void fourt(chunk_array_t* datar, chunk_array_t* datai, int nn[3], int ndim, int
|
|
|
|
|
|
|
|
|
|
chunk_array_save(datar, j, valueri);
|
|
|
|
|
chunk_array_save(datai, j, valueii);
|
|
|
|
|
|
|
|
|
|
printf("[77] Saving in datar the value %f in pos %d\n", valueri, j);
|
|
|
|
|
printf("[78] Saving in datai the value %f in pos %d\n", valueii, j);
|
|
|
|
|
|
|
|
|
|
L770:
|
|
|
|
|
i--;
|
|
|
|
|
j--;
|
|
|
|
@ -655,6 +708,9 @@ void fourt(chunk_array_t* datar, chunk_array_t* datai, int nn[3], int ndim, int
|
|
|
|
|
chunk_array_save(datar, j, valuerimin + valueiimin);
|
|
|
|
|
chunk_array_save(datai, j, 0.);
|
|
|
|
|
|
|
|
|
|
printf("[75] Saving in datar the value %f in pos %d\n", valuerimin + valueiimin, j);
|
|
|
|
|
printf("[76] Saving in datai the value %f in pos %d\n", 0., j);
|
|
|
|
|
|
|
|
|
|
imax = imin;
|
|
|
|
|
goto L745;
|
|
|
|
|
L780: ;
|
|
|
|
@ -666,6 +722,10 @@ void fourt(chunk_array_t* datar, chunk_array_t* datai, int nn[3], int ndim, int
|
|
|
|
|
|
|
|
|
|
chunk_array_save(datar, 1, valuei1 + valuer1);
|
|
|
|
|
chunk_array_save(datai, 1, 0.);
|
|
|
|
|
|
|
|
|
|
printf("[77] Saving in datar the value %f in pos %d\n", valuei1 + valuer1, 1);
|
|
|
|
|
printf("[78] Saving in datai the value %f in pos %d\n", 0., 1);
|
|
|
|
|
|
|
|
|
|
goto L900;
|
|
|
|
|
|
|
|
|
|
/*complete a real transform for the 2nd, 3rd, ... dimension by conjugate symmetries*/
|
|
|
|
@ -691,6 +751,10 @@ void fourt(chunk_array_t* datar, chunk_array_t* datai, int nn[3], int ndim, int
|
|
|
|
|
|
|
|
|
|
chunk_array_save(datar, i, valuerj);
|
|
|
|
|
chunk_array_save(datai, i, -valueij);
|
|
|
|
|
|
|
|
|
|
printf("[79] Saving in datar the value %f in pos %d\n", valuerj, i);
|
|
|
|
|
printf("[80] Saving in datai the value %f in pos %d\n", -valueij, i);
|
|
|
|
|
|
|
|
|
|
j--;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -705,6 +769,9 @@ void fourt(chunk_array_t* datar, chunk_array_t* datai, int nn[3], int ndim, int
|
|
|
|
|
chunk_array_save(datar, i, valuerj);
|
|
|
|
|
chunk_array_save(datai, i, -valueij);
|
|
|
|
|
|
|
|
|
|
printf("[81] Saving in datar the value %f in pos %d\n", valuerj, i);
|
|
|
|
|
printf("[82] Saving in datai the value %f in pos %d\n", -valueij, i);
|
|
|
|
|
|
|
|
|
|
j -= np0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|