X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=src%2Ftest%2Ftest.EMGLLF.c;h=168f81e94605b7b55daa40ecacc31e8b4fb055da;hb=c3bc47052f3ccb659659c59a82e9a99ea842398d;hp=e938b3ac495432f5df532e28db904e3d7205b8d4;hpb=7ea8c1e58b3ab98eda5b003ccdffe5e35222bb4f;p=valse.git diff --git a/src/test/test.EMGLLF.c b/src/test/test.EMGLLF.c index e938b3a..168f81e 100644 --- a/src/test/test.EMGLLF.c +++ b/src/test/test.EMGLLF.c @@ -1,13 +1,9 @@ #include "EMGLLF.h" -#include "utils.h" +#include "test_utils.h" #include int main(int argc, char** argv) { - //////////// - // INPUTS // - //////////// - int* dimensions = readArray_int("dimensions"); int n = dimensions[0]; int p = dimensions[1]; @@ -15,35 +11,36 @@ int main(int argc, char** argv) int k = dimensions[3]; free(dimensions); - float* phiInit = readArray_real("phiInit"); - float* rhoInit = readArray_real("rhoInit"); - float* piInit = readArray_real("piInit"); - float* gamInit = readArray_real("gamInit"); + //////////// + // 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"); - 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"); + 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)); ///////////// - 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 // - //////////////////// - 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); @@ -53,27 +50,27 @@ int main(int argc, char** argv) free(Y); // Compare to reference outputs - float* ref_phi = readArray_real("phi"); + Real* ref_phi = readArray_real("phi"); compareArray_real("phi", phi, ref_phi, p*m*k); free(phi); free(ref_phi); - float* ref_rho = readArray_real("rho"); + Real* ref_rho = readArray_real("rho"); compareArray_real("rho", rho, ref_rho, m*m*k); free(rho); free(ref_rho); - float* ref_pi = readArray_real("pi"); + Real* ref_pi = readArray_real("pi"); compareArray_real("pi", pi, ref_pi, k); free(pi); free(ref_pi); - float* 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); - float* ref_S = readArray_real("S"); + Real* ref_S = readArray_real("S"); compareArray_real("S", S, ref_S, p*m*k); free(S); free(ref_S);