@@ -20,33 +20,29 @@ contains
20
20
${t}$, intent(in) :: L(:,:)
21
21
${t}$, intent(in) :: b(:)
22
22
${t}$, intent(inout) :: x(:)
23
- ${t}$ :: aux
24
23
25
24
integer(ilp) :: i, j, m
26
25
27
- do i = 1, size(L,dim=1)
28
- aux = zero_${s}$
29
- do j = 1, i-1
30
- aux = aux + L(i,j)*x(j)
26
+ x = zero_${s}$
27
+ do j = 1, size(L,dim=1)
28
+ x(j) = x(j) + b(j)
29
+ do i = j+1, size(L,dim=1)
30
+ x(i) = x(i) - L(i,j)*x(j)
31
31
end do
32
- x(i) = b(i) - aux
33
32
end do
34
33
end subroutine
35
34
36
35
module subroutine solve_backward_triangular_dense_${s}$(U,b,x)
37
36
${t}$, intent(in) :: U(:,:)
38
37
${t}$, intent(in) :: b(:)
39
38
${t}$, intent(inout) :: x(:)
40
- ${t}$ :: aux
41
- ${t}$ :: baux(size(x))
42
39
43
40
integer(ilp) :: i, j, m
44
41
45
- baux = zero_${s}$
46
- do i = size(U,dim=1), 1, -1
47
- x(i) = x(i) - baux(i)
48
- do j = i+1, size(U,dim=2)
49
- baux(j) = baux(j) + U(i,j)*x(i)
42
+ do j = size(U,dim=1), 1, -1
43
+ x(j) = b(j)
44
+ do i = 1, j-1
45
+ x(i) = x(i) - U(i,j)*x(j)
50
46
end do
51
47
end do
52
48
end subroutine
0 commit comments