#include <stdlib.h>
// Index matrix (by columns)
-int mi(int i, int j, int d1, int d2)
+int inline mi(int i, int j, int d1, int d2)
{
return j*d1 + i;
}
// Index 3-tensor (by columns, matrices ordered by last dim)
-int ti(int i, int j, int k, int d1, int d2, int d3)
+int inline ti(int i, int j, int k, int d1, int d2, int d3)
{
return k*d1*d2 + j*d1 + i;
}
// W = 1/N sum( t(g(Zi,theta)) g(Zi,theta) )
// with g(Zi, theta) = i-th contribution to all moments (size dim) - real moments
-void Compute_Omega(double* X, double* Y, double* M, int* pn, int* pd, double* W)
+void Compute_Omega(double* X, int* Y, double* M, int* pn, int* pd, double* W)
{
int n=*pn, d=*pd;
int dim = d + d*d + d*d*d;