11 //typedef uint32_t UInt;
12 //typedef int32_t Int;
18 // Number of OpenMP threads
19 #define OMP_NUM_THREADS 8
21 // CHUNK_SIZE = number of lambda values to be treated sequentially by a single core
24 /*******************************
25 * Matrix and arrays indexation
26 *******************************/
28 // Matrix Index ; TODO? ncol unused
29 #define mi(i,j,nrow,ncol)\
32 // Array Index ; TODO? d3 unused
33 #define ai(i,j,k,d1,d2,d3)\
36 // Array4 Index ; TODO? ...
37 #define ai4(i,j,k,m,d1,d2,d3,d4)\
38 m*d1*d2*d3 + k*d1*d2 + j*d1 + i
40 // Array5 Index ; TODO? ...
41 #define ai5(i,j,k,m,n,d1,d2,d3,d4,d5)\
42 n*d1*d2*d3*d4 + m*d1*d2*d3 + k*d1*d2 + j*d1 + i
44 /*************************
45 * Array copy & "zeroing"
46 ************************/
48 // Fill an array with zeros
49 #define zeroArray(array, size)\
51 for (int u=0; u<size; u++)\
56 #define copyArray(array, copy, size)\
58 for (int u=0; u<size; u++)\