Closed vladimir-ch closed 8 years ago
I wonder if we shouldn't keep the PosInc case as Go loop.
You mean here?
Also, mat64.Vector does not allow negative inc, BLAS does nothing when negative inc, so we could safely drop the last argument from the assembler routines.
I don't understand this.
I wonder if we shouldn't keep the PosInc case as Go loop.
You mean here?
I mean dropping the commit 8b1fdd7. The benchmark does not show much of a benefit and we already know that the asm.DscalInc routines are a bit eccentric.
Also, mat64.Vector does not allow negative inc, BLAS does nothing when negative inc, so we could safely drop the last argument from the assembler routines.
I don't understand this.
Since the increment passed to asm.Dscal routines will be always positive, the ix
and idst
arguments in
func DscalInc(alpha float64, x []float64, n, incX, ix uintptr)
func DscalIncTo(dst []float64, incDst, idst uintptr, alpha float64, x []float64, n, incX, ix uintptr)
will be always zero. We could remove them and simplify the signature a bit.
Clear now thanks.
Both those SGTM. The second should add a comment that increments are always positive - we use them that way now, but we need it documented at the site.
Commit dropped. PTAL @kortschak
ping
Sorry, I thought I had done this.
LGTM
I wonder if we shouldn't keep the PosInc case as Go loop. Also, mat64.Vector does not allow negative inc, BLAS does nothing when negative inc, so we could safely drop the last argument from the assembler routines.