1 #include "selectiontotale.h"
4 mwSize
main(mwSize argc
, char** argv
)
8 Int
* dimensions
= readArray_int("dimensions",&nbDims
,1);
9 mwSize n
= dimensions
[0];
10 mwSize p
= dimensions
[1];
11 mwSize m
= dimensions
[2];
12 mwSize k
= dimensions
[3];
13 mwSize L
= dimensions
[4];
22 const mwSize dimPhiInit
[] = {p
, m
, k
};
23 Real
* phiInit
= readArray_real("phiInit",dimPhiInit
,3);
26 const mwSize dimRhoInit
[] = {m
, m
, k
};
27 Real
* rhoInit
= readArray_real("rhoInit",dimRhoInit
,3);
30 Real
* piInit
= readArray_real("piInit",&k
,1);
33 const mwSize dimGamInit
[] = {n
, k
};
34 Real
* gamInit
= readArray_real("gamInit",dimGamInit
, 2);
36 // min number of iterations
37 Int
* pmini
= readArray_int("mini",&lengthOne
,1);
41 // max number of iterations
42 Int
* pmaxi
= readArray_int("maxi",&lengthOne
,1);
47 Real
* pgamma
= readArray_real("gamma",&lengthOne
,1);
52 Real
* glambda
= readArray_real("glambda",&L
,1);
55 const mwSize dimX
[] = {n
, p
};
56 Real
* X
= readArray_real("X",dimX
,2);
59 const mwSize dimY
[] = {n
, m
};
60 Real
* Y
= readArray_real("Y",dimY
,2);
63 Real
* pseuil
= readArray_real("seuil",&lengthOne
,1);
68 Real
* ptau
= readArray_real("tau",&lengthOne
,1);
77 const mwSize dimA
[] = {p
, m
+1, L
};
78 Int
* A1
= (Int
*)malloc(dimA
[0]*dimA
[1]*dimA
[2]*sizeof(Int
));
81 Int
* A2
= (Int
*)malloc(dimA
[0]*dimA
[1]*dimA
[2]*sizeof(Int
));
84 const mwSize dimRho
[] = {m
, m
, k
, L
};
85 Real
* Rho
= (Real
*)malloc(dimRho
[0]*dimRho
[1]*dimRho
[2]*dimRho
[3]*sizeof(Real
));
88 const mwSize dimPi
[] = {k
, L
};
89 Real
* Pi
= (Real
*)malloc(dimPi
[0]*dimPi
[1]*sizeof(Real
));
91 //////////////////////////////////////////////
92 // Main call to constructionModelesLassoMLE //
93 //////////////////////////////////////////////
96 phiInit
,rhoInit
,piInit
,gamInit
,mini
,maxi
,gamma
,glambda
,X
,Y
,seuil
,tau
,
100 // free input pointers
109 // Compare to reference outputs
110 Int
* ref_A1
= readArray_int("A1",dimA
, 3);
111 compareArray_int("A1", A1
, ref_A1
, dimA
[0]*dimA
[1]*dimA
[2]);
116 Int
* ref_A2
= readArray_int("A2",dimA
, 3);
117 compareArray_int("A2", A2
, ref_A2
, dimA
[0]*dimA
[1]*dimA
[2]);
122 Real
* ref_Rho
= readArray_real("Rho",dimRho
, 4);
123 compareArray_real("Rho", Rho
, ref_Rho
, dimRho
[0]*dimRho
[1]*dimRho
[2]*dimRho
[3]);
128 Real
* ref_Pi
= readArray_real("Pi",dimPi
, 2);
129 compareArray_real("Pi", Pi
, ref_Pi
, dimPi
[0]*dimPi
[1]);