From c62dc81ca3fbb7131c948580ea49cc42ee1462e1 Mon Sep 17 00:00:00 2001 From: Dan Kortschak Date: Mon, 14 Sep 2020 09:15:40 +0930 Subject: [PATCH] mat: don't clobber optimisation for TriDense matrix input --- mat/vector.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/mat/vector.go b/mat/vector.go index a0ea792d..688ed690 100644 --- a/mat/vector.go +++ b/mat/vector.go @@ -629,13 +629,16 @@ func (v *VecDense) MulVec(a Matrix, b Vector) { return } case *TriDense: - v.CopyVec(b) - aU.checkOverlap(v.asGeneral()) - ta := blas.NoTrans - if trans { - ta = blas.Trans + if fast { + v.CopyVec(b) + aU.checkOverlap(v.asGeneral()) + ta := blas.NoTrans + if trans { + ta = blas.Trans + } + blas64.Trmv(ta, aU.mat, v.mat) + return } - blas64.Trmv(ta, aU.mat, v.mat) case *Dense: if fast { aU.checkOverlap(v.asGeneral())