diff options
author | Gael Guennebaud <g.gael@free.fr> | 2013-02-24 23:05:42 +0100 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2013-02-24 23:05:42 +0100 |
commit | 04367447ac295d9818713f54b0a539efef7f0caa (patch) | |
tree | c9d2d53d94ecaef1f6c8a3ea923bb6a605a58104 /blas | |
parent | 08388cc71209ac29ad768c628f1b014dd460d819 (diff) |
Fix bug #496: generalize internal rank1_update implementation to accept uplo(A) += v * w and make A.triangularView() += v * w uses it.
Update unit tests and blas interface respectively.
Diffstat (limited to 'blas')
-rw-r--r-- | blas/level2_cplx_impl.h | 4 | ||||
-rw-r--r-- | blas/level2_real_impl.h | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/blas/level2_cplx_impl.h b/blas/level2_cplx_impl.h index f52d384a9..ceed3e86d 100644 --- a/blas/level2_cplx_impl.h +++ b/blas/level2_cplx_impl.h @@ -216,7 +216,7 @@ int EIGEN_BLAS_FUNC(hpr2)(char *uplo, int *n, RealScalar *palpha, RealScalar *px */ int EIGEN_BLAS_FUNC(her)(char *uplo, int *n, RealScalar *palpha, RealScalar *px, int *incx, RealScalar *pa, int *lda) { - typedef void (*functype)(int, Scalar*, int, const Scalar*, Scalar); + typedef void (*functype)(int, Scalar*, int, const Scalar*, const Scalar*, Scalar); static functype func[2]; static bool init = false; @@ -252,7 +252,7 @@ int EIGEN_BLAS_FUNC(her)(char *uplo, int *n, RealScalar *palpha, RealScalar *px, if(code>=2 || func[code]==0) return 0; - func[code](*n, a, *lda, x_cpy, alpha); + func[code](*n, a, *lda, x_cpy, x_cpy, alpha); matrix(a,*n,*n,*lda).diagonal().imag().setZero(); diff --git a/blas/level2_real_impl.h b/blas/level2_real_impl.h index febf08d1f..842f0a066 100644 --- a/blas/level2_real_impl.h +++ b/blas/level2_real_impl.h @@ -85,7 +85,7 @@ int EIGEN_BLAS_FUNC(syr)(char *uplo, int *n, RealScalar *palpha, RealScalar *px, // init = true; // } - typedef void (*functype)(int, Scalar*, int, const Scalar*, Scalar); + typedef void (*functype)(int, Scalar*, int, const Scalar*, const Scalar*, Scalar); static functype func[2]; static bool init = false; @@ -121,7 +121,7 @@ int EIGEN_BLAS_FUNC(syr)(char *uplo, int *n, RealScalar *palpha, RealScalar *px, if(code>=2 || func[code]==0) return 0; - func[code](*n, c, *ldc, x_cpy, alpha); + func[code](*n, c, *ldc, x_cpy, x_cpy, alpha); if(x_cpy!=x) delete[] x_cpy; |