X-Git-Url: https://git.auder.net/?a=blobdiff_plain;ds=sidebyside;f=src%2Fadapters%2Fa.EMGrank.c;h=469349c344756a4221444c027ead3b40aef382c6;hb=09ab3c164abb566764e86a175b5973241e708fd6;hp=763ff4eca0bad73aab5044aa66cdce4edc993300;hpb=8e92c49c15bdacebf46190e7c8279bd227873928;p=valse.git diff --git a/src/adapters/a.EMGrank.c b/src/adapters/a.EMGrank.c index 763ff4e..469349c 100644 --- a/src/adapters/a.EMGrank.c +++ b/src/adapters/a.EMGrank.c @@ -2,7 +2,7 @@ #include #include "EMGrank.h" -SEXP EMGLLF( +SEXP EMGrank( SEXP Pi_, SEXP Rho_, SEXP mini_, @@ -34,13 +34,13 @@ SEXP EMGLLF( double* Rho = REAL(Rho_); double* X = REAL(X_); double* Y = REAL(Y_); - double* rank = REAL(rank_); + int* rank = INTEGER(rank_); ///////////// // OUTPUTS // ///////////// - SEXP phi, LLF; + SEXP phi, LLF, dimPhi; PROTECT(dimPhi = allocVector(INTSXP, 3)); int* pDimPhi = INTEGER(dimPhi); pDimPhi[0] = p; pDimPhi[1] = m; pDimPhi[2] = k; @@ -52,7 +52,7 @@ SEXP EMGLLF( // Call to EMGrank // ///////////////////// - EMGrank(Pi, Rho, mini, maxi, X, Y, tau, rank, + EMGrank_core(Pi, Rho, mini, maxi, X, Y, tau, rank, pPhi,pLLF, n,p,m,k); @@ -64,7 +64,7 @@ SEXP EMGLLF( for (int i=0; i<2; i++) SET_STRING_ELT(listNames,i,mkChar(lnames[i])); setAttrib(listParams, R_NamesSymbol, listNames); - SET_ARRAY_ELT(listParams, 0, phi); + SET_VECTOR_ELT(listParams, 0, phi); SET_VECTOR_ELT(listParams, 1, LLF); UNPROTECT(5);