X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=pkg%2Fsrc%2Fsources%2Futils.h;fp=pkg%2Fsrc%2Fsources%2Futils.h;h=f6d122f066b2010fbdbdf604fef6fedb42dfe277;hb=f87ff0f5116c0c1c59c5608e46563ff0f79e5d43;hp=0000000000000000000000000000000000000000;hpb=53fa233d8fbeaf4d51a4874ba69d8472d01d04ba;p=valse.git diff --git a/pkg/src/sources/utils.h b/pkg/src/sources/utils.h new file mode 100644 index 0000000..f6d122f --- /dev/null +++ b/pkg/src/sources/utils.h @@ -0,0 +1,58 @@ +#ifndef valse_utils_H +#define valse_utils_H + +//#include + +/******** + * Types + *******/ + +typedef double Real; +//typedef uint32_t UInt; +//typedef int32_t Int; + +/******************* + * tune parallelism + *******************/ + +// Number of OpenMP threads +#define OMP_NUM_THREADS 8 + +// CHUNK_SIZE = number of lambda values to be treated sequentially by a single core +#define CHUNK_SIZE 1 + +/******************************* + * Matrix and arrays indexation + *******************************/ + +// Matrix Index ; TODO? ncol unused +#define mi(i,j,nrow,ncol)\ + j*nrow + i + +// Array Index ; TODO? d3 unused +#define ai(i,j,k,d1,d2,d3)\ + k*d1*d2 + j*d1 + i + +// Array4 Index ; TODO? ... +#define ai4(i,j,k,m,d1,d2,d3,d4)\ + m*d1*d2*d3 + k*d1*d2 + j*d1 + i + +/************************* + * Array copy & "zeroing" + ************************/ + +// Fill an array with zeros +#define zeroArray(array, size)\ +{\ + for (int u=0; u