X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=pkg%2Fsrc%2Fsources%2Futils.h;fp=pkg%2Fsrc%2Fsources%2Futils.h;h=be3a72fb215a2b1f7b100794d007ca1021a507a7;hb=228ee602a972fcac6177db0d539bf9d0c5fa477f;hp=0000000000000000000000000000000000000000;hpb=e32621012b1660204434a56acc8cf73eac42f477;p=valse.git diff --git a/pkg/src/sources/utils.h b/pkg/src/sources/utils.h new file mode 100644 index 0000000..be3a72f --- /dev/null +++ b/pkg/src/sources/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