#include "EMGLLF.h"
-#include "ioutils.h"
+#include "test_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);
+ ////////////
+ // INPUTS //
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");
+ 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");
+ ////////////
/////////////
// 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));
+ /////////////
////////////////////
// Call to EMGLLF //
- ////////////////////
-
EMGLLF_core(phiInit,rhoInit,piInit,gamInit,mini,maxi,gamma,lambda,X,Y,tau,
phi,rho,pi,LLF,S,
n,p,m,k);
+ ////////////////////
free(phiInit);
free(rhoInit);
free(pi);
free(ref_pi);
- Real* ref_LLF = readArray_real("LLF", maxi);
- compareArray_real("LLF", LLF, ref_LLF);
+ Real* ref_LLF = readArray_real("LLF");
+ compareArray_real("LLF", LLF, ref_LLF, maxi);
free(LLF);
free(ref_LLF);