mirror of
https://github.com/gonum/gonum.git
synced 2025-10-06 07:37:03 +08:00
mat: Add Scale method for TriDense and Cholesky (#267)
* mat: Add Scale method for TriDense and Cholesky
This commit is contained in:
@@ -319,6 +319,23 @@ func TestTriMul(t *testing.T) {
|
||||
testTwoInput(t, "TriMul", receiver, method, denseComparison, legalTypesUpper, legalSizeTriMul, 1e-14)
|
||||
}
|
||||
|
||||
func TestScaleTri(t *testing.T) {
|
||||
for _, f := range []float64{0.5, 1, 3} {
|
||||
method := func(receiver, a Matrix) {
|
||||
type ScaleTrier interface {
|
||||
ScaleTri(f float64, a Triangular)
|
||||
}
|
||||
rd := receiver.(ScaleTrier)
|
||||
rd.ScaleTri(f, a.(Triangular))
|
||||
}
|
||||
denseComparison := func(receiver, a *Dense) {
|
||||
receiver.Scale(f, a)
|
||||
}
|
||||
testOneInput(t, "ScaleTriUpper", NewTriDense(3, Upper, nil), method, denseComparison, legalTypeTriUpper, isSquare, 1e-14)
|
||||
testOneInput(t, "ScaleTriLower", NewTriDense(3, Lower, nil), method, denseComparison, legalTypeTriLower, isSquare, 1e-14)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCopySymIntoTriangle(t *testing.T) {
|
||||
nan := math.NaN()
|
||||
for tc, test := range []struct {
|
||||
|
Reference in New Issue
Block a user