#include <R.h>
#include <Rdefines.h>
-#include "sources/EMGLLF.h"
+#include "EMGLLF.h"
SEXP EMGLLF(
SEXP phiInit_,
) {
// Get matrices dimensions
int n = INTEGER(getAttrib(X_, R_DimSymbol))[0];
- SEXP dim = getAttrib(phiInit_, R_DimSymbol)
+ SEXP dim = getAttrib(phiInit_, R_DimSymbol);
int p = INTEGER(dim)[0];
int m = INTEGER(dim)[1];
int k = INTEGER(dim)[2];
PROTECT(pi = allocVector(REALSXP, k));
PROTECT(LLF = allocVector(REALSXP, maxi-mini+1));
PROTECT(S = allocArray(REALSXP, dimPhiS));
- double* pPhi=REAL(phi), pRho=REAL(rho), pPi=REAL(pi), pLLF=REAL(LLF), pS=REAL(S);
+ double *pPhi=REAL(phi), *pRho=REAL(rho), *pPi=REAL(pi), *pLLF=REAL(LLF), *pS=REAL(S);
////////////////////
// Call to EMGLLF //
////////////////////
- EMGLLF(phiInit,rhoInit,piInit,gamInit,mini,maxi,gamma,lambda,X,Y,tau,
+ EMGLLF_core(phiInit,rhoInit,piInit,gamInit,mini,maxi,gamma,lambda,X,Y,tau,
pPhi,pRho,pPi,pLLF,pS,
n,p,m,k);
for (int i=0; i<5; i++)
SET_STRING_ELT(listNames,i,mkChar(lnames[i]));
setAttrib(listParams, R_NamesSymbol, listNames);
- SET_ARRAY_ELT(listParams, 0, phi);
- SET_ARRAY_ELT(listParams, 1, rho);
- SET_MATRIX_ELT(listParams, 2, pi);
+ SET_VECTOR_ELT(listParams, 0, phi);
+ SET_VECTOR_ELT(listParams, 1, rho);
+ SET_VECTOR_ELT(listParams, 2, pi);
SET_VECTOR_ELT(listParams, 3, LLF);
- SET_ARRAY_ELT(listParams, 4, S);
+ SET_VECTOR_ELT(listParams, 4, S);
UNPROTECT(9);
return listParams;