projects
/
valse.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
R package can now be installed (compilation OK)
[valse.git]
/
src
/
adapters
/
a.constructionModelesLassoMLE.c
diff --git
a/src/adapters/a.constructionModelesLassoMLE.c
b/src/adapters/a.constructionModelesLassoMLE.c
index
7578664
..
72c3173
100644
(file)
--- a/
src/adapters/a.constructionModelesLassoMLE.c
+++ b/
src/adapters/a.constructionModelesLassoMLE.c
@@
-1,8
+1,8
@@
#include <R.h>
#include <Rdefines.h>
#include <R.h>
#include <Rdefines.h>
-#include "
sources/EMGLLF
.h"
+#include "
constructionModelesLassoMLE
.h"
-SEXP
EMGLLF
(
+SEXP
constructionModelesLassoMLE
(
SEXP phiInit_,
SEXP rhoInit_,
SEXP piInit_,
SEXP phiInit_,
SEXP rhoInit_,
SEXP piInit_,
@@
-20,11
+20,11
@@
SEXP EMGLLF(
) {
// Get matrices dimensions
int n = INTEGER(getAttrib(X_, R_DimSymbol))[0];
) {
// 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];
int p = INTEGER(dim)[0];
int m = INTEGER(dim)[1];
int k = INTEGER(dim)[2];
- int L =
INTEGER(getAttrib(glambda_, R_LengthSymbol))[0]
;
+ int L =
length(glambda_)
;
////////////
// INPUTS //
////////////
// INPUTS //
@@
-45,8
+45,8
@@
SEXP EMGLLF(
double* glambda = REAL(glambda_);
double* X = REAL(X_);
double* Y = REAL(Y_);
double* glambda = REAL(glambda_);
double* X = REAL(X_);
double* Y = REAL(Y_);
-
double* A1 = REAL
(A1_);
-
double* A2 = REAL
(A2_);
+
int* A1 = INTEGER
(A1_);
+
int* A2 = INTEGER
(A2_);
/////////////
// OUTPUTS //
/////////////
// OUTPUTS //
@@
-63,13
+63,13
@@
SEXP EMGLLF(
PROTECT(rho = allocArray(REALSXP, dimRho));
PROTECT(pi = allocMatrix(REALSXP, k, L));
PROTECT(lvraisemblance = allocMatrix(REALSXP, L, 2));
PROTECT(rho = allocArray(REALSXP, dimRho));
PROTECT(pi = allocMatrix(REALSXP, k, L));
PROTECT(lvraisemblance = allocMatrix(REALSXP, L, 2));
- double
* pPhi=REAL(phi), pRho=REAL(rho), pPi=REAL(pi),
pLvraisemblance=REAL(lvraisemblance);
+ double
*pPhi=REAL(phi), *pRho=REAL(rho), *pPi=REAL(pi), *
pLvraisemblance=REAL(lvraisemblance);
/////////////////////////////////////////
// Call to constructionModelesLassoMLE //
/////////////////////////////////////////
/////////////////////////////////////////
// Call to constructionModelesLassoMLE //
/////////////////////////////////////////
- constructionModelesLassoMLE(
+ constructionModelesLassoMLE
_core
(
phiInit,rhoInit,piInit,gamInit,mini,maxi,gamma,glambda,X,Y,seuil,tau,A1,A2,
pPhi,pRho,pPi,pLvraisemblance,
n,p,m,k,L);
phiInit,rhoInit,piInit,gamInit,mini,maxi,gamma,glambda,X,Y,seuil,tau,A1,A2,
pPhi,pRho,pPi,pLvraisemblance,
n,p,m,k,L);
@@
-77,14
+77,14
@@
SEXP EMGLLF(
// Build list from OUT params and return it
SEXP listParams, listNames;
PROTECT(listParams = allocVector(VECSXP, 4));
// Build list from OUT params and return it
SEXP listParams, listNames;
PROTECT(listParams = allocVector(VECSXP, 4));
- char* lnames[4] = {"phi", "rho", "pi", "lvraisemblance}; //lists labels
+ char* lnames[4] = {"phi", "rho", "pi", "lvraisemblance
"
}; //lists labels
PROTECT(listNames = allocVector(STRSXP,4));
for (int i=0; i<4; i++)
SET_STRING_ELT(listNames,i,mkChar(lnames[i]));
setAttrib(listParams, R_NamesSymbol, listNames);
PROTECT(listNames = allocVector(STRSXP,4));
for (int i=0; i<4; 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, lvraisemblance);
UNPROTECT(8);
SET_VECTOR_ELT(listParams, 3, lvraisemblance);
UNPROTECT(8);