From dcbaafdb1a301406f2bb6489a2192a261545ea10 Mon Sep 17 00:00:00 2001 From: chortas Date: Fri, 14 Jan 2022 23:02:22 -0300 Subject: [PATCH] At least compiling. Segfault --- fftma_module/gen/include/toolsFFTMA.h | 1 + fftma_module/gen/lib_src/build_real.c | 4 +- fftma_module/gen/lib_src/fourt.c | 80 +++++++++++++-------------- 3 files changed, 43 insertions(+), 42 deletions(-) diff --git a/fftma_module/gen/include/toolsFFTMA.h b/fftma_module/gen/include/toolsFFTMA.h index 42af6d4..ed7a6d1 100644 --- a/fftma_module/gen/include/toolsFFTMA.h +++ b/fftma_module/gen/include/toolsFFTMA.h @@ -1,5 +1,6 @@ #include "genlib.h" #include "geostat.h" +#include "chunk_array.h" #include #include diff --git a/fftma_module/gen/lib_src/build_real.c b/fftma_module/gen/lib_src/build_real.c index 6274e3b..e46dd5f 100644 --- a/fftma_module/gen/lib_src/build_real.c +++ b/fftma_module/gen/lib_src/build_real.c @@ -1,5 +1,4 @@ #include "geostat.h" -#include "chunk_array.h" #include #include #include @@ -7,6 +6,7 @@ #include #include #include +#include "chunk_array.h" /* build_real */ /* build a realization in the spectral domain */ @@ -31,7 +31,7 @@ void build_real(int n[3], int NTOT, chunk_array_t* covar, chunk_array_t* realiza for (j = 1; j <= n[1]; j++) { for (i = 1; i <= n[0]; i++) { maille1 = i + (j - 1 + (k - 1) * n[1]) * n[0]; - chunk_aray_get(covar, maille1, &temp); + chunk_array_get(covar, maille1, &temp); if (temp > 0.) { temp = sqrt(temp) / (double)NTOT; } else if (temp < 0.) { diff --git a/fftma_module/gen/lib_src/fourt.c b/fftma_module/gen/lib_src/fourt.c index 9d4ed0f..4d015b6 100644 --- a/fftma_module/gen/lib_src/fourt.c +++ b/fftma_module/gen/lib_src/fourt.c @@ -273,8 +273,8 @@ 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) { - chunk_save(datar, i2, workr[i]); - chunk_save(datai, i2, worki[i]); + chunk_array_save(datar, i2, workr[i]); + chunk_array_save(datai, i2, worki[i]); i++; } } @@ -387,10 +387,10 @@ 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_data_save(datar, i, valuerj - tempr); - chunk_data_save(datai, i, valueij - tempi); - chunk_data_save(datar, j, valuerj + tempr); - chunk_data_save(datai, j, valueij + tempi); + 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); j += istep; } imin = 2 * imin - i1; @@ -532,10 +532,10 @@ 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_data_save(datar, i, sumr + tempr); - chunk_data_save(datai, i, difi + tempi); - chunk_data_save(datar, j, sumr - tempr); - chunk_data_save(datai, j, tempi - difi); + 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); j += np2; } imin++; @@ -553,8 +553,8 @@ void fourt(chunk_array_t* datar, chunk_array_t* datai, int nn[3], int ndim, int goto L740; for (i = imin; i <= ntot; i += np2) { double valueii; - chunk_data_get(datai, i, &valueii); - chunk_data_save(datai, i, -valueii); + chunk_array_get(datai, i, &valueii); + chunk_array_save(datai, i, -valueii); } L740: np2 *= 2; @@ -567,54 +567,54 @@ void fourt(chunk_array_t* datar, chunk_array_t* datai, int nn[3], int ndim, int goto L755; L750: ; double valueri, valueii; - chunk_data_get(datar, i, &valueri); - chunk_data_get(datai, i, &valueii); - chunk_data_save(datar, j, valueri); - chunk_data_save(datai, j, -valueii); + chunk_array_get(datar, i, &valueri); + chunk_array_get(datai, i, &valueii); + chunk_array_save(datar, j, valueri); + chunk_array_save(datai, j, -valueii); L755: i++; j--; if (i < imax) goto L750; double valuerimin, valueiimin; - chunk_data_get(datar, imin, &valuerimin); - chunk_data_get(datai, imin, &valueiimin); + chunk_array_get(datar, imin, &valuerimin); + chunk_array_get(datai, imin, &valueiimin); - chunk_data_save(datar, j, valuerimin - valueiimin); - chunk_data_save(datai, j, 0.); + chunk_array_save(datar, j, valuerimin - valueiimin); + chunk_array_save(datai, j, 0.); if (i >= j) { goto L780; } else { goto L770; } L765: - chunk_data_get(datar, i, &valueri); - chunk_data_get(datai, i, &valueii); + chunk_array_get(datar, i, &valueri); + chunk_array_get(datai, i, &valueii); - chunk_data_save(datar, j, valueri); - chunk_data_save(datai, j, valueii); + chunk_array_save(datar, j, valueri); + chunk_array_save(datai, j, valueii); L770: i--; j--; if (i > imin) goto L765; - chunk_data_get(datar, imin, &valuerimin); - chunk_data_get(datai, imin, &valueiimin); + chunk_array_get(datar, imin, &valuerimin); + chunk_array_get(datai, imin, &valueiimin); - chunk_data_save(datar, j, valuerimin + valueiimin); - chunk_data_save(datai, j, 0.); + chunk_array_save(datar, j, valuerimin + valueiimin); + chunk_array_save(datai, j, 0.); imax = imin; goto L745; L780: ; double valuei1, valuer1; - chunk_data_get(datai, 1, &valuei1); - chunk_data_get(datar, 1, &valuer1); + chunk_array_get(datai, 1, &valuei1); + chunk_array_get(datar, 1, &valuer1); - chunk_data_save(datar, 1, valuei1 + valuer1); - chunk_data_save(datai, 1, 0.); + chunk_array_save(datar, 1, valuei1 + valuer1); + chunk_array_save(datai, 1, 0.); goto L900; /*complete a real transform for the 2nd, 3rd, ... dimension by conjugate symmetries*/ @@ -633,22 +633,22 @@ void fourt(chunk_array_t* datar, chunk_array_t* datai, int nn[3], int ndim, int j = jmax + np0; for (i = imin; i <= imax; i++) { double valuerj, valueij; - chunk_data_get(datar, j, &valuerj); - chunk_data_get(datai, j, &valueij); + chunk_array_get(datar, j, &valuerj); + chunk_array_get(datai, j, &valueij); - chunk_data_save(datar, i, valuerj); - chunk_data_save(datai, i, -valueij); + chunk_array_save(datar, i, valuerj); + chunk_array_save(datai, i, -valueij); j--; } } j = jmax; for (i = imin; i <= imax; i += np0) { double valuerj, valueij; - chunk_data_get(datar, j, &valuerj); - chunk_data_get(datai, j, &valueij); + chunk_array_get(datar, j, &valuerj); + chunk_array_get(datai, j, &valueij); - chunk_data_save(datar, i, valuerj); - chunk_data_save(datai, i, -valueij); + chunk_array_save(datar, i, valuerj); + chunk_array_save(datai, i, -valueij); j -= np0; }