aboutsummaryrefslogtreecommitdiffhomepage
path: root/blas
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2013-02-24 23:05:42 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2013-02-24 23:05:42 +0100
commit04367447ac295d9818713f54b0a539efef7f0caa (patch)
treec9d2d53d94ecaef1f6c8a3ea923bb6a605a58104 /blas
parent08388cc71209ac29ad768c628f1b014dd460d819 (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.h4
-rw-r--r--blas/level2_real_impl.h4
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;