From d982e7c2fdebf560ccce193cb98b85d4fac28a45 Mon Sep 17 00:00:00 2001 From: Nicholas Noll Date: Wed, 13 May 2020 17:30:19 -0700 Subject: blas 1 generation code complete --- sys/libmath/linalg.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'sys/libmath/linalg.c') diff --git a/sys/libmath/linalg.c b/sys/libmath/linalg.c index 09e100c..8551ff1 100644 --- a/sys/libmath/linalg.c +++ b/sys/libmath/linalg.c @@ -1,6 +1,7 @@ #include #include #include +#include // ----------------------------------------------------------------------- // Vector @@ -10,8 +11,8 @@ linalg·normalize(math·Vector vec) { double norm; - norm = blas·norm(vec.len, vec.data, 1); - blas·scale(vec.len, 1/norm, vec.data, 1); + norm = blas·normd(vec.len, vec.data, 1); + blas·scaled(vec.len, 1/norm, vec.data, 1); } // TODO: Write blas wrappers that eat vectors for convenience @@ -50,12 +51,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, 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); + w.data[0] = math·sgn(row[0]) * blas·normd(len, row, 1); + blas·axpyd(len, 1.0, row, 1, w.data, 1); + mag = blas·normd(len, w.data, 1); + blas·scaled(len, 1/mag, w.data, 1); - blas·copy(len - m.dim[0], w.data, 1, m.data + i, 1); + blas·copyd(len - m.dim[0], w.data, 1, m.data + i, 1); } return err·nil; -- cgit v1.2.1