projects
/
valse.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
move selectiontotale to appropriate folder (untranslated)
[valse.git]
/
src
/
adapters
/
a.constructionModelesLassoRank.c
diff --git
a/src/adapters/a.constructionModelesLassoRank.c
b/src/adapters/a.constructionModelesLassoRank.c
index
359290c
..
0e069d4
100644
(file)
--- a/
src/adapters/a.constructionModelesLassoRank.c
+++ b/
src/adapters/a.constructionModelesLassoRank.c
@@
-1,8
+1,8
@@
#include <R.h>
#include <Rdefines.h>
#include <R.h>
#include <Rdefines.h>
-#include "
sources/EMGLLF
.h"
+#include "
constructionModelesLassoRank
.h"
-SEXP
EMGLLF
(
+SEXP
constructionModelesLassoRank
(
SEXP Pi_,
SEXP Rho_,
SEXP mini_,
SEXP Pi_,
SEXP Rho_,
SEXP mini_,
@@
-12,13
+12,13
@@
SEXP EMGLLF(
SEXP tau_,
SEXP A1_,
SEXP rangmin_,
SEXP tau_,
SEXP A1_,
SEXP rangmin_,
- SEXP rangmax
+ SEXP rangmax
_
) {
// Get matrices dimensions
SEXP dimX = getAttrib(X_, R_DimSymbol);
int n = INTEGER(dimX)[0];
int p = INTEGER(dimX)[1];
) {
// Get matrices dimensions
SEXP dimX = getAttrib(X_, R_DimSymbol);
int n = INTEGER(dimX)[0];
int p = INTEGER(dimX)[1];
- SEXP dimRho = getAttrib(Rho_, R_DimSymbol)
+ SEXP dimRho = getAttrib(Rho_, R_DimSymbol)
;
int m = INTEGER(dimRho)[0];
int k = INTEGER(dimRho)[2];
int L = INTEGER(getAttrib(A1_, R_DimSymbol))[1];
int m = INTEGER(dimRho)[0];
int k = INTEGER(dimRho)[2];
int L = INTEGER(getAttrib(A1_, R_DimSymbol))[1];
@@
-39,40
+39,40
@@
SEXP EMGLLF(
double* Rho = REAL(Rho_);
double* X = REAL(X_);
double* Y = REAL(Y_);
double* Rho = REAL(Rho_);
double* X = REAL(X_);
double* Y = REAL(Y_);
-
double* A1 = REAL
(A1_);
+
int* A1 = INTEGER
(A1_);
/////////////
// OUTPUTS //
/////////////
int Size = pow(rangmax-rangmin+1,k);
/////////////
// OUTPUTS //
/////////////
int Size = pow(rangmax-rangmin+1,k);
- SEXP phi, l
vraisemblance
, dimPhi;
+ SEXP phi, l
lh
, dimPhi;
PROTECT(dimPhi = allocVector(INTSXP, 4));
int* pDimPhi = INTEGER(dimPhi);
pDimPhi[0] = p; pDimPhi[1] = m; pDimPhi[2] = k; pDimPhi[3] = L*Size;
PROTECT(phi = allocArray(REALSXP, dimPhi));
PROTECT(dimPhi = allocVector(INTSXP, 4));
int* pDimPhi = INTEGER(dimPhi);
pDimPhi[0] = p; pDimPhi[1] = m; pDimPhi[2] = k; pDimPhi[3] = L*Size;
PROTECT(phi = allocArray(REALSXP, dimPhi));
- PROTECT(l
vraisemblance
= allocMatrix(REALSXP, L*Size, 2));
- double
* pPhi=REAL(phi), pLvraisemblance=REAL(lvraisemblance
);
+ PROTECT(l
lh
= allocMatrix(REALSXP, L*Size, 2));
+ double
*pPhi=REAL(phi), *pllh=REAL(llh
);
//////////////////////////////////////////
// Call to constructionModelesLassoRank //
//////////////////////////////////////////
//////////////////////////////////////////
// Call to constructionModelesLassoRank //
//////////////////////////////////////////
- constructionModelesLassoRank(
+ constructionModelesLassoRank
_core
(
Pi,Rho,mini,maxi,X,Y,tau,A1,rangmin,rangmax,
Pi,Rho,mini,maxi,X,Y,tau,A1,rangmin,rangmax,
- pPhi,p
Lvraisemblance
,
+ pPhi,p
llh
,
n,p,m,k,L);
// Build list from OUT params and return it
SEXP listParams, listNames;
PROTECT(listParams = allocVector(VECSXP, 2));
n,p,m,k,L);
// Build list from OUT params and return it
SEXP listParams, listNames;
PROTECT(listParams = allocVector(VECSXP, 2));
- char* lnames[2] = {"phi", "l
vraisemblance
"}; //lists labels
+ char* lnames[2] = {"phi", "l
lh
"}; //lists labels
PROTECT(listNames = allocVector(STRSXP,2));
for (int i=0; i<2; i++)
SET_STRING_ELT(listNames,i,mkChar(lnames[i]));
setAttrib(listParams, R_NamesSymbol, listNames);
PROTECT(listNames = allocVector(STRSXP,2));
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, 1, l
vraisemblance
);
+ SET_
VECTOR
_ELT(listParams, 0, phi);
+ SET_VECTOR_ELT(listParams, 1, l
lh
);
UNPROTECT(5);
return listParams;
UNPROTECT(5);
return listParams;