matrix/mat64: use pools for []float64 and []int where possible

This commit is contained in:
kortschak
2017-06-07 10:52:32 +09:30
committed by Dan Kortschak
parent d49f26e4f8
commit 8ca1ab32d2
11 changed files with 164 additions and 63 deletions

View File

@@ -64,9 +64,11 @@ func (m *Dense) Solve(a, b Matrix) error {
rm := rma.RawTriangular()
blas64.Trsm(side, tA, 1, rm, m.mat)
work := make([]float64, 3*rm.N)
iwork := make([]int, rm.N)
work := getFloats(3*rm.N, false)
iwork := getInts(rm.N, false)
cond := lapack64.Trcon(matrix.CondNorm, rm, work, iwork)
putFloats(work)
putInts(iwork)
if cond > matrix.ConditionTolerance {
return matrix.Condition(cond)
}