From c9252ee9df9e9bfecf9f1a3c0f3fb9e82571eab2 Mon Sep 17 00:00:00 2001 From: "Colin B. Macdonald" Date: Tue, 13 Sep 2022 10:38:58 -0700 Subject: [PATCH] Port helpers from list-of-lists to flat+shape Related to #1236. I don't see a problem with the list-of-lists approach, but these are the only routine using it so we can delete some code if we port them to flat + shape. --- inst/@sym/private/mat_rclist_access.m | 6 +++--- inst/@sym/private/mat_rclist_asgn.m | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/inst/@sym/private/mat_rclist_access.m b/inst/@sym/private/mat_rclist_access.m index c46036a31..92a7c06c2 100644 --- a/inst/@sym/private/mat_rclist_access.m +++ b/inst/@sym/private/mat_rclist_access.m @@ -35,9 +35,9 @@ cmd = {'(A, rr, cc) = _ins' 'AA = A.tolist() if isinstance(A, (MatrixBase, NDimArray)) else [[A]]' - 'MM = [[AA[i][j]] for i, j in zip(rr, cc)]' - 'M = make_2d_sym(MM)' - 'return M,'}; + 'M = [AA[i][j] for i, j in zip(rr, cc)]' + 'return _make_2d_sym(M, shape=(len(rr), 1)),' + }; rr = num2cell(int32(r-1)); cc = num2cell(int32(c-1)); diff --git a/inst/@sym/private/mat_rclist_asgn.m b/inst/@sym/private/mat_rclist_asgn.m index cc5fb0760..1641229e3 100644 --- a/inst/@sym/private/mat_rclist_asgn.m +++ b/inst/@sym/private/mat_rclist_asgn.m @@ -59,7 +59,7 @@ % Easy trick to copy A into larger matrix AA: % AA = sp.Matrix.zeros(n, m) % AA[0, 0] = A - % Also usefil: .copyin_matrix + % Also useful: .copyin_matrix cmd = {'(A, rr, cc, b) = _ins' 'assert A == [] or not isinstance(A, list), "unexpectedly non-empty list: report bug!"'