mirror of
https://github.com/gonum/gonum.git
synced 2025-10-05 07:06:54 +08:00
mat: generalise basic arithmetic vector operations
This commit is contained in:
@@ -184,10 +184,10 @@ func TestVecDenseAtSet(t *testing.T) {
|
||||
func TestVecDenseMul(t *testing.T) {
|
||||
method := func(receiver, a, b Matrix) {
|
||||
type mulVecer interface {
|
||||
MulVec(a Matrix, b *VecDense)
|
||||
MulVec(a Matrix, b Vector)
|
||||
}
|
||||
rd := receiver.(mulVecer)
|
||||
rd.MulVec(a, b.(*VecDense))
|
||||
rd.MulVec(a, b.(Vector))
|
||||
}
|
||||
denseComparison := func(receiver, a, b *Dense) {
|
||||
receiver.Mul(a, b)
|
||||
@@ -266,10 +266,10 @@ func TestVecDenseScale(t *testing.T) {
|
||||
for _, alpha := range []float64{0, 1, -1, 2.3, -2.3} {
|
||||
method := func(receiver, a Matrix) {
|
||||
type scaleVecer interface {
|
||||
ScaleVec(float64, *VecDense)
|
||||
ScaleVec(float64, Vector)
|
||||
}
|
||||
v := receiver.(scaleVecer)
|
||||
v.ScaleVec(alpha, a.(*VecDense))
|
||||
v.ScaleVec(alpha, a.(Vector))
|
||||
}
|
||||
denseComparison := func(receiver, a *Dense) {
|
||||
receiver.Scale(alpha, a)
|
||||
@@ -282,10 +282,10 @@ func TestVecDenseAddScaled(t *testing.T) {
|
||||
for _, alpha := range []float64{0, 1, -1, 2.3, -2.3} {
|
||||
method := func(receiver, a, b Matrix) {
|
||||
type addScaledVecer interface {
|
||||
AddScaledVec(*VecDense, float64, *VecDense)
|
||||
AddScaledVec(Vector, float64, Vector)
|
||||
}
|
||||
v := receiver.(addScaledVecer)
|
||||
v.AddScaledVec(a.(*VecDense), alpha, b.(*VecDense))
|
||||
v.AddScaledVec(a.(Vector), alpha, b.(Vector))
|
||||
}
|
||||
denseComparison := func(receiver, a, b *Dense) {
|
||||
var sb Dense
|
||||
|
Reference in New Issue
Block a user