diff options
author | Nicholas Noll <nbnoll@eml.cc> | 2020-05-09 13:22:51 -0700 |
---|---|---|
committer | Nicholas Noll <nbnoll@eml.cc> | 2020-05-09 13:22:51 -0700 |
commit | 672079795d607270638103dd93fa453645e5a38a (patch) | |
tree | 26b6ef732a91b29098b7bccaa7f1289af081f9ad /sys/libmath/linalg.c | |
parent | 3290956dc738abf4998adb94a96a3eff487fae3c (diff) |
feat: all level 1 functions are now strided
Diffstat (limited to 'sys/libmath/linalg.c')
-rw-r--r-- | sys/libmath/linalg.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/sys/libmath/linalg.c b/sys/libmath/linalg.c index 5a73527..09e100c 100644 --- a/sys/libmath/linalg.c +++ b/sys/libmath/linalg.c @@ -10,8 +10,8 @@ linalg·normalize(math·Vector vec) { double norm; - norm = blas·norm(vec.len, vec.data); - blas·scale(vec.len, 1/norm, vec.data); + norm = blas·norm(vec.len, vec.data, 1); + blas·scale(vec.len, 1/norm, vec.data, 1); } // TODO: Write blas wrappers that eat vectors for convenience @@ -50,12 +50,12 @@ linalg·lq(math·Matrix m, math·Vector w) len = m.dim[0] - i; // TODO: Don't want to compute norm twice!! - w.data[0] = math·sgn(row[0]) * blas·norm(len, row); - blas·axpy(len, 1.0, row, w.data); - mag = blas·norm(len, w.data); - blas·scale(len, 1/mag, w.data); + w.data[0] = math·sgn(row[0]) * blas·norm(len, row, 1); + blas·axpy(len, 1.0, row, 1, w.data, 1); + mag = blas·norm(len, w.data, 1); + blas·scale(len, 1/mag, w.data, 1); - blas·copy(len - m.dim[0], w.data, m.data + i); + blas·copy(len - m.dim[0], w.data, 1, m.data + i, 1); } return err·nil; |