Skip to content

Commit 3958018

Browse files
committed
refactor algorithm
1 parent cc77dee commit 3958018

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

src/stdlib_intrinsics_matmul.fypp

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,11 @@ contains
1111
! Algorithm for the optimal parenthesization of matrices
1212
! Reference: Cormen, "Introduction to Algorithms", 4ed, ch-14, section-2
1313
! Internal use only!
14-
pure function matmul_chain_order(n, p) result(s)
15-
integer, intent(in) :: n, p(:)
16-
integer :: s(1:n-1, 2:n), m(1:n, 1:n), l, i, j, k, q
14+
pure function matmul_chain_order(p) result(s)
15+
integer, intent(in) :: p(:)
16+
integer :: s(1:size(p) - 2, 2: size(p) - 1), m(1: size(p) - 1, 1: size(p) - 1)
17+
integer :: n, l, i, j, k, q
18+
n = size(p) - 1
1719
m(:,:) = 0
1820
s(:,:) = 0
1921

@@ -72,7 +74,7 @@ contains
7274
p(4) = size(d, 1)
7375
p(5) = size(d, 2)
7476

75-
s = matmul_chain_order(4, p)
77+
s = matmul_chain_order(p)
7678

7779
select case (s(1,4))
7880
case (1)
@@ -113,7 +115,7 @@ contains
113115
p(5) = size(e, 1)
114116
p(6) = size(e, 2)
115117

116-
s = matmul_chain_order(5, p)
118+
s = matmul_chain_order(p)
117119

118120
select case (s(1,5))
119121
case (1)

0 commit comments

Comments
 (0)