#include "EMGLLF.h"
-#include "ioutils.h"
+#include "utils.h"
+#include <stdlib.h>
int main(int argc, char** argv)
{
// INPUTS //
////////////
- Int* dimensions = readArray_int("dimensions");
- mwSize n = dimensions[0];
- mwSize p = dimensions[1];
- mwSize m = dimensions[2];
- mwSize k = dimensions[3];
+ int* dimensions = readArray_int("dimensions");
+ int n = dimensions[0];
+ int p = dimensions[1];
+ int m = dimensions[2];
+ int k = dimensions[3];
free(dimensions);
- Real* phiInit = readArray_real("phiInit");
- Real* rhoInit = readArray_real("rhoInit");
- Real* piInit = readArray_real("piInit");
- Real* gamInit = readArray_real("gamInit");
- Int mini = read_int("mini");
- Int maxi = read_int("maxi");
- Real gamma = read_real("gamma");
- Real lambda = read_real("lambda");
- Real* X = readArray_real("X");
- Real* Y = readArray_real("Y");
- Real tau = read_real("tau");
+ float* phiInit = readArray_real("phiInit");
+ float* rhoInit = readArray_real("rhoInit");
+ float* piInit = readArray_real("piInit");
+ float* gamInit = readArray_real("gamInit");
+ int mini = read_int("mini");
+ int maxi = read_int("maxi");
+ float gamma = read_real("gamma");
+ float lambda = read_real("lambda");
+ float* X = readArray_real("X");
+ float* Y = readArray_real("Y");
+ float tau = read_real("tau");
/////////////
// OUTPUTS //
/////////////
- Real* phi = (Real*)malloc(p*m*k*sizeof(Real));
- Real* rho = (Real*)malloc(m*m*k*sizeof(Real));
- Real* pi = (Real*)malloc(k*sizeof(Real));
- Real* LLF = (Real*)malloc(maxi*sizeof(Real));
- Real* S = (Real*)malloc(p*m*k*sizeof(Real));
+ float* phi = (float*)malloc(p*m*k*sizeof(float));
+ float* rho = (float*)malloc(m*m*k*sizeof(float));
+ float* pi = (float*)malloc(k*sizeof(float));
+ float* LLF = (float*)malloc(maxi*sizeof(float));
+ float* S = (float*)malloc(p*m*k*sizeof(float));
////////////////////
// Call to EMGLLF //
free(Y);
// Compare to reference outputs
- Real* ref_phi = readArray_real("phi");
+ float* ref_phi = readArray_real("phi");
compareArray_real("phi", phi, ref_phi, p*m*k);
free(phi);
free(ref_phi);
- Real* ref_rho = readArray_real("rho");
+ float* ref_rho = readArray_real("rho");
compareArray_real("rho", rho, ref_rho, m*m*k);
free(rho);
free(ref_rho);
- Real* ref_pi = readArray_real("pi");
+ float* ref_pi = readArray_real("pi");
compareArray_real("pi", pi, ref_pi, k);
free(pi);
free(ref_pi);
- Real* ref_LLF = readArray_real("LLF", maxi);
- compareArray_real("LLF", LLF, ref_LLF);
+ float* ref_LLF = readArray_real("LLF");
+ compareArray_real("LLF", LLF, ref_LLF, maxi);
free(LLF);
free(ref_LLF);
- Real* ref_S = readArray_real("S");
+ float* ref_S = readArray_real("S");
compareArray_real("S", S, ref_S, p*m*k);
free(S);
free(ref_S);