From 46178222d272a85220bc86b221aa3166edd5bd4a Mon Sep 17 00:00:00 2001 From: Alberto Ruiz Date: Thu, 21 May 2015 20:47:59 +0200 Subject: CInt elements, wip --- packages/base/src/C/lapack-aux.c | 177 +++++++++++++++++++++++++++++++++++++++ packages/base/src/C/lapack-aux.h | 2 + packages/base/src/C/vector-aux.c | 27 ++++++ 3 files changed, 206 insertions(+) (limited to 'packages/base/src/C') diff --git a/packages/base/src/C/lapack-aux.c b/packages/base/src/C/lapack-aux.c index e5e45ef..d56d466 100644 --- a/packages/base/src/C/lapack-aux.c +++ b/packages/base/src/C/lapack-aux.c @@ -1287,6 +1287,29 @@ int multiplyQ(int ta, int tb, KQMAT(a),KQMAT(b),QMAT(r)) { OK } +int multiplyI(int ta, int tb, KIMAT(a), KIMAT(b), IMAT(r)) { + int i,j,k; + int n; + int u, v; + if (ta==0) { + n = ac; + } else { + n = ar; + } + for (i=0;iyp[k]?1:0); + } + OK +} + +int compareD(KDVEC(x),KDVEC(y),IVEC(r)) { + REQUIRES(xn==yn && xn==rn ,BAD_SIZE); + DEBUGMSG("compareD") + int k; + for(k=0;kyp[k]?1:0); + } + OK +} + + int condF(FVEC(x),FVEC(y),FVEC(lt),FVEC(eq),FVEC(gt),FVEC(r)) { REQUIRES(xn==yn && xn==ltn && xn==eqn && xn==gtn && xn==rn ,BAD_SIZE); DEBUGMSG("condF") @@ -1487,3 +1598,69 @@ int condD(DVEC(x),DVEC(y),DVEC(lt),DVEC(eq),DVEC(gt),DVEC(r)) { OK } + +int chooseF(KIVEC(cond),KFVEC(lt),KFVEC(eq),KFVEC(gt),FVEC(r)) { + REQUIRES(condn==ltn && ltn==eqn && ltn==gtn && ltn==rn ,BAD_SIZE); + DEBUGMSG("chooseF") + int k; + for(k=0;k0?gtp[k]:eqp[k]); + } + OK +} + + +int chooseD(KIVEC(cond),KDVEC(lt),KDVEC(eq),KDVEC(gt),DVEC(r)) { + REQUIRES(condn==ltn && ltn==eqn && ltn==gtn && ltn==rn ,BAD_SIZE); + DEBUGMSG("chooseD") + int k; + for(k=0;k0?gtp[k]:eqp[k]); + } + OK +} + +//////////////////////// extract ///////////////////////////////// + +#define EXTRACT_IMP \ + REQUIRES((tm == 0 && jn==rr && mc==rc) || (jn==rr && mr==rc) ,BAD_SIZE); \ + DEBUGMSG("extractRD") \ + int k,i,s; \ + if (tm==0) { \ + for (k=0;k