From 79fa0200e1d5500f994d88e39d6fddff907a85f8 Mon Sep 17 00:00:00 2001 From: Alberto Ruiz Date: Sun, 28 Jun 2015 14:19:57 +0200 Subject: pass copied slice to lapack (chol) --- packages/base/src/Internal/C/lapack-aux.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) (limited to 'packages/base/src/Internal/C') diff --git a/packages/base/src/Internal/C/lapack-aux.c b/packages/base/src/Internal/C/lapack-aux.c index baa0570..ab78dac 100644 --- a/packages/base/src/Internal/C/lapack-aux.c +++ b/packages/base/src/Internal/C/lapack-aux.c @@ -39,7 +39,7 @@ typedef float complex TCF; // #endif -// printf("%dx%d %d:%d\n",ar,ac,aXr,aXc); +#define INFOMAT(M) printf("%dx%d %d:%d\n",M##r,M##c,M##Xr,M##Xc); #define TRACEMAT(M) {int q; printf(" %d x %d: ",M##r,M##c); \ for(q=0;q=1 && ac == n && lr==n && lc==n,BAD_SIZE); +int chol_l_H(OCMAT(l)) { + integer n = lr; + REQUIRES(n>=1 && lc == n,BAD_SIZE); DEBUGMSG("chol_l_H"); - memcpy(lp,ap,n*n*sizeof(doublecomplex)); char uplo = 'U'; integer res; zpotrf_ (&uplo,&n,lp,&n,&res); @@ -881,14 +879,12 @@ int chol_l_H(KOCMAT(a),OCMAT(l)) { } -/* Subroutine */ int dpotrf_(char *uplo, integer *n, doublereal *a, integer * - lda, integer *info); +int dpotrf_(char *uplo, integer *n, doublereal *a, integer * lda, integer *info); -int chol_l_S(KODMAT(a),ODMAT(l)) { - integer n = ar; - REQUIRES(n>=1 && ac == n && lr==n && lc==n,BAD_SIZE); +int chol_l_S(ODMAT(l)) { + integer n = lr; + REQUIRES(n>=1 && lc == n,BAD_SIZE); DEBUGMSG("chol_l_S"); - memcpy(lp,ap,n*n*sizeof(double)); char uplo = 'U'; integer res; dpotrf_ (&uplo,&n,lp,&n,&res); -- cgit v1.2.3