diff options
Diffstat (limited to 'packages/base/src/C/vector-aux.c')
-rw-r--r-- | packages/base/src/C/vector-aux.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/packages/base/src/C/vector-aux.c b/packages/base/src/C/vector-aux.c index 5b9c171..53b56aa 100644 --- a/packages/base/src/C/vector-aux.c +++ b/packages/base/src/C/vector-aux.c | |||
@@ -744,3 +744,29 @@ int random_vector(int seed, int code, DVEC(r)) { | |||
744 | } | 744 | } |
745 | } | 745 | } |
746 | 746 | ||
747 | //////////////////////////////////////////////////////////////////////////////// | ||
748 | |||
749 | int smXv(KDVEC(vals),KIVEC(cols),KIVEC(rows),KDVEC(x),DVEC(r)) { | ||
750 | int r, c; | ||
751 | for (r = 0; r < rowsn - 1; r++) { | ||
752 | rp[r] = 0; | ||
753 | for (c = rowsp[r]; c < rowsp[r+1]; c++) { | ||
754 | rp[r] += valsp[c-1] * xp[colsp[c-1]-1]; | ||
755 | } | ||
756 | } | ||
757 | OK | ||
758 | } | ||
759 | |||
760 | int smTXv(KDVEC(vals),KIVEC(cols),KIVEC(rows),KDVEC(x),DVEC(r)) { | ||
761 | int r,c; | ||
762 | for (c = 0; c < rn; c++) { | ||
763 | rp[c] = 0; | ||
764 | } | ||
765 | for (r = 0; r < rowsn - 1; r++) { | ||
766 | for (c = rowsp[r]; c < rowsp[r+1]; c++) { | ||
767 | rp[colsp[c-1]-1] += valsp[c-1] * xp[r]; | ||
768 | } | ||
769 | } | ||
770 | OK | ||
771 | } | ||
772 | |||