X-Git-Url: https://git.auder.net/?p=valse.git;a=blobdiff_plain;f=pkg%2Fsrc%2Futils.h;fp=pkg%2Fsrc%2Futils.h;h=be3a72fb215a2b1f7b100794d007ca1021a507a7;hp=0000000000000000000000000000000000000000;hb=1196a43d961a95abc18d3c8e777e9a4e8233e562;hpb=859c30ec72871f923da0498c14a94e67b0219875 diff --git a/pkg/src/utils.h b/pkg/src/utils.h new file mode 100644 index 0000000..be3a72f --- /dev/null +++ b/pkg/src/utils.h @@ -0,0 +1,48 @@ +#ifndef valse_utils_H +#define valse_utils_H + +//#include + +/******** + * Types + *******/ + +typedef double Real; +//typedef uint32_t UInt; +//typedef int32_t Int; + +/******************************* + * 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