From 43ecfce7d20360a5fdc53e5ced266eccc8723242 Mon Sep 17 00:00:00 2001 From: Nicholas Noll Date: Fri, 29 May 2020 14:41:05 -0700 Subject: blas code update --- include/libmath/blas.h | 46 ++++++++++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 20 deletions(-) (limited to 'include/libmath') diff --git a/include/libmath/blas.h b/include/libmath/blas.h index 83acb2c..b8930a8 100644 --- a/include/libmath/blas.h +++ b/include/libmath/blas.h @@ -10,8 +10,6 @@ enum blas·LeftSide = 16u, }; -typedef uint32 blas·Flag; - /* * Floats */ @@ -31,17 +29,21 @@ int blas·fargmax(int len, float *x, int inc); int blas·fargmin(int len, float *x, int inc); // level 2 -void blas·tpmvf(blas·Flag f, int n, float *m, float *x); -error blas·gemvf(int nrow, int ncol, float a, float *m, int incm, float *x, int incx, float b, float *y, int incy) ; -void blas·tpsvf(blas·Flag f, int n, float *m, float *x); -void blas·gerf(int nrow, int ncol, float a, float *x, int incx, float *y, int incy, float *m, int incm); -void blas·herf(int n, float a, float *x, float *m); -void blas·syrf(int nrow, int ncol, float a, float *x, float *m); +error blas·fgemv(uint f, int nrow, int ncol, float a, float *m, int incm, float *x, int incx, float b, float *y, int incy); +void blas·fsymv(uint f, int n, float a, float* m, int incm, float *x, int incx, float b, float *y, int incy); +void blas·fspmv(uint f, int n, float a, float* m, float *x, int incx, float b, float *y, int incm); +void blas·ftrmv(uint f, int n, float* m, int incm, float *x, int incx); +void blas·ftpmv(uint f, int n, float *m, float *x, int incx); +void blas·ftrsv(uint f, int n, float *m, int incm, float *x, int incx); +void blas·ftpsv(uint f, int n, float *m, float *x, int incx); +void blas·fger(int nrow, int ncol, float a, float *x, int incx, float *y, int incy, float *m, int incm); +void blas·fsyr(uint f, int n, float a, float *x, int incx, float *m, int incm); +void blas·fspr(uint f, int n, float a, float *x, int incx, float *m); // level 3 -void blas·gemmf(int n1, int n2, int n3, float a, float *m1, float *m2, float b, float *m3); -void blas·trmmf(blas·Flag f, int nrow, int ncol, float a, float *m1, float *m2); -void blas·trsmf(blas·Flag f, int nrow, int ncol, float a, float *m1, float *m2); +void blas·fgemm(uint tr1, uint tr2, int n1, int n2, int n3, float a, float *m1, int inc1, float *m2, int inc2, float b, float *m3, int inc3); +void blas·ftrmm(uint f, int nrow, int ncol, float a, float *m1, float *m2); +void blas·ftrsm(uint f, int nrow, int ncol, float a, float *m1, float *m2); /* * Doubles @@ -62,17 +64,21 @@ int blas·dargmax(int len, double *x, int inc); int blas·dargmin(int len, double *x, int inc); // level 2 -void blas·tpmvd(blas·Flag f, int n, double *m, double *x); -error blas·gemvd(int nrow, int ncol, double a, double *m, int incm, double *x, int incx, double b, double *y, int incy) ; -void blas·tpsvd(blas·Flag f, int n, double *m, double *x); -void blas·gerd(int nrow, int ncol, double a, double *x, int incx, double *y, int incy, double *m, int incm); -void blas·herd(int n, double a, double *x, double *m); -void blas·syrd(int nrow, int ncol, double a, double *x, double *m); +error blas·dgemv(uint f, int nrow, int ncol, double a, double *m, int incm, double *x, int incx, double b, double *y, int incy); +void blas·dsymv(uint f, int n, double a, double* m, int incm, double *x, int incx, double b, double *y, int incy); +void blas·dspmv(uint f, int n, double a, double* m, double *x, int incx, double b, double *y, int incy); +void blas·dtrmv(uint f, int n, double *m, int incm, double *x, int incx); +void blas·dtpmv(uint f, int n, double *m, double *x, int incx); +void blas·dtrsv(uint f, int n, double *m, int incm, double *x, int incx); +void blas·dtpsv(uint f, int n, double *m, double *x, int incx); +void blas·dger(int nrow, int ncol, double a, double *x, int incx, double *y, int incy, double *m, int incm); +void blas·dsyr(uint flag, int n, double a, double *x, int incx, double *m, int incm); +void blas·dspr(uint flag, int n, double a, double *x, int incx, double *m); // level 3 -void blas·gemmd(int n1, int n2, int n3, double a, double *m1, double *m2, double b, double *m3); -void blas·trmmd(blas·Flag f, int nrow, int ncol, double a, double *m1, double *m2); -void blas·trsmd(blas·Flag f, int nrow, int ncol, double a, double *m1, double *m2); +void blas·dgemm(uint tr1, uint tr2, int n1, int n2, int n3, double a, double *m1, int inc1, double *m2, int inc2, double b, double *m3, int inc3); +void blas·dtrmm(uint f, int nrow, int ncol, double a, double *m1, double *m2); +void blas·dtrsm(uint f, int nrow, int ncol, double a, double *m1, double *m2); /* * TODO: Complex -- cgit v1.2.1