diff options
author | Gael Guennebaud <g.gael@free.fr> | 2016-04-11 15:12:44 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2016-04-11 15:12:44 +0200 |
commit | 4e8e5888d7a78d514e54a518f6692f2838314328 (patch) | |
tree | 286179c3b9f7c855b11bbc7afdae10469d9942b0 /blas/common.h | |
parent | 675e0a222442b1d7446a843f15128c467502160a (diff) |
Improve constness of blas level-3 interface.
Diffstat (limited to 'blas/common.h')
-rw-r--r-- | blas/common.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/blas/common.h b/blas/common.h index 5ecb153e2..acb50af1b 100644 --- a/blas/common.h +++ b/blas/common.h @@ -105,18 +105,37 @@ matrix(T* data, int rows, int cols, int stride) } template<typename T> +Map<const Matrix<T,Dynamic,Dynamic,ColMajor>, 0, OuterStride<> > +matrix(const T* data, int rows, int cols, int stride) +{ + return Map<const Matrix<T,Dynamic,Dynamic,ColMajor>, 0, OuterStride<> >(data, rows, cols, OuterStride<>(stride)); +} + +template<typename T> Map<Matrix<T,Dynamic,1>, 0, InnerStride<Dynamic> > make_vector(T* data, int size, int incr) { return Map<Matrix<T,Dynamic,1>, 0, InnerStride<Dynamic> >(data, size, InnerStride<Dynamic>(incr)); } template<typename T> +Map<const Matrix<T,Dynamic,1>, 0, InnerStride<Dynamic> > make_vector(const T* data, int size, int incr) +{ + return Map<const Matrix<T,Dynamic,1>, 0, InnerStride<Dynamic> >(data, size, InnerStride<Dynamic>(incr)); +} + +template<typename T> Map<Matrix<T,Dynamic,1> > make_vector(T* data, int size) { return Map<Matrix<T,Dynamic,1> >(data, size); } template<typename T> +Map<const Matrix<T,Dynamic,1> > make_vector(const T* data, int size) +{ + return Map<const Matrix<T,Dynamic,1> >(data, size); +} + +template<typename T> T* get_compact_vector(T* x, int n, int incx) { if(incx==1) |