summaryrefslogtreecommitdiff
path: root/packages/base/src/Internal/C
diff options
context:
space:
mode:
authorAlberto Ruiz <aruiz@um.es>2015-06-13 19:18:16 +0200
committerAlberto Ruiz <aruiz@um.es>2015-06-13 19:18:16 +0200
commit717c680a4b65a2226b0dd6fc13f7c63e7bc0431d (patch)
tree1775c3c363a0b61f5f6a6ec1f22fe9b7d5864dc4 /packages/base/src/Internal/C
parent4b3e29097aa272d429f8005fe17b459cf0c049c8 (diff)
setRect, general luPacked' based on luST
Diffstat (limited to 'packages/base/src/Internal/C')
-rw-r--r--packages/base/src/Internal/C/lapack-aux.c54
1 files changed, 28 insertions, 26 deletions
diff --git a/packages/base/src/Internal/C/lapack-aux.c b/packages/base/src/Internal/C/lapack-aux.c
index e42889d..2843ab5 100644
--- a/packages/base/src/Internal/C/lapack-aux.c
+++ b/packages/base/src/Internal/C/lapack-aux.c
@@ -1448,7 +1448,7 @@ int transL(KLMAT(x),LMAT(t)) TRANS_IMP
1448 1448
1449//////////////////////// extract ///////////////////////////////// 1449//////////////////////// extract /////////////////////////////////
1450 1450
1451#define EXTRACT_IMP \ 1451#define EXTRACT_IMP { \
1452 int i,j,si,sj,ni,nj; \ 1452 int i,j,si,sj,ni,nj; \
1453 ni = modei ? in : ip[1]-ip[0]+1; \ 1453 ni = modei ? in : ip[1]-ip[0]+1; \
1454 nj = modej ? jn : jp[1]-jp[0]+1; \ 1454 nj = modej ? jn : jp[1]-jp[0]+1; \
@@ -1461,33 +1461,35 @@ int transL(KLMAT(x),LMAT(t)) TRANS_IMP
1461 \ 1461 \
1462 AT(r,i,j) = AT(m,si,sj); \ 1462 AT(r,i,j) = AT(m,si,sj); \
1463 } \ 1463 } \
1464 } \ 1464 } OK }
1465 OK
1466
1467int extractD(int modei, int modej, KIVEC(i), KIVEC(j), KODMAT(m), ODMAT(r)) {
1468 EXTRACT_IMP
1469}
1470
1471int extractF(int modei, int modej, KIVEC(i), KIVEC(j), KOFMAT(m), OFMAT(r)) {
1472 EXTRACT_IMP
1473}
1474
1475int extractC(int modei, int modej, KIVEC(i), KIVEC(j), KOCMAT(m), OCMAT(r)) {
1476 EXTRACT_IMP
1477}
1478
1479int extractQ(int modei, int modej, KIVEC(i), KIVEC(j), KOQMAT(m), OQMAT(r)) {
1480 EXTRACT_IMP
1481}
1482
1483int extractI(int modei, int modej, KIVEC(i), KIVEC(j), KOIMAT(m), OIMAT(r)) {
1484 EXTRACT_IMP
1485}
1486 1465
1487int extractL(int modei, int modej, KIVEC(i), KIVEC(j), KOLMAT(m), OLMAT(r)) { 1466#define EXTRACT(T) int extract##T(int modei, int modej, KIVEC(i), KIVEC(j), KO##T##MAT(m), O##T##MAT(r)) EXTRACT_IMP
1488 EXTRACT_IMP 1467
1489} 1468EXTRACT(D)
1469EXTRACT(F)
1470EXTRACT(C)
1471EXTRACT(Q)
1472EXTRACT(I)
1473EXTRACT(L)
1474
1475//////////////////////// setRect /////////////////////////////////
1476
1477#define SETRECT(T) \
1478int setRect##T(int i, int j, KO##T##MAT(m), O##T##MAT(r)) { \
1479 { TRAV(m,a,b) { \
1480 int x = a+i, y = b+j; \
1481 if(x>=0 && x<rr && y>=0 && y<rc) { \
1482 AT(r,x,y) = AT(m,a,b); \
1483 } \
1484 } \
1485 } OK }
1490 1486
1487SETRECT(D)
1488SETRECT(F)
1489SETRECT(C)
1490SETRECT(Q)
1491SETRECT(I)
1492SETRECT(L)
1491 1493
1492//////////////////////// remap ///////////////////////////////// 1494//////////////////////// remap /////////////////////////////////
1493 1495