root / synthbench / euroben-dm / mod2cr / taylor.f @ 0:839f52ef7657
History | View | Annotate | Download (2 kB)
1 |
Subroutine taylor( n1, n2, n3 ) |
---|---|
2 |
! ---------------------------------------------------------------------- |
3 |
Use mpi_module |
4 |
Implicit None |
5 |
|
6 |
Integer :: n1, n2, n3 |
7 |
|
8 |
Integer :: m, n12, ntot, nsize |
9 |
! ---------------------------------------------------------------------- |
10 |
n12 = n1*n2 |
11 |
ntot = n12*n3 |
12 |
m = sizes(me) |
13 |
! ---------------------------------------------------------------------- |
14 |
! --- Determine bounds for upper diagonals. |
15 |
|
16 |
la1 = 1 |
17 |
ua1 = m |
18 |
If ( me == ( nodes - 1 ) ) ua1 = ua1 - 1 |
19 |
nsize = ntot - n1 |
20 |
If ( glb > nsize ) Then |
21 |
la2 = ntot + 1 !<-- Make lower bound so high that loop |
22 |
Else ! never will execute. |
23 |
la2 = 1 |
24 |
End If |
25 |
If ( nsize < gub ) Then |
26 |
ua2 = nsize - glb |
27 |
Else |
28 |
ua2 = m |
29 |
End If |
30 |
nsize = ntot - n12 |
31 |
If ( glb > nsize ) Then |
32 |
la3 = ntot + 1 !<-- Make lower bound so high that loop |
33 |
Else ! never will execute. |
34 |
la3 = 1 |
35 |
End If |
36 |
If ( nsize < gub ) Then |
37 |
ua3 = nsize - glb |
38 |
Else |
39 |
ua3 = m |
40 |
End If |
41 |
! ---------------------------------------------------------------------- |
42 |
! --- Determine bounds for lower diagonals. |
43 |
|
44 |
lb1 = 1 |
45 |
ub1 = m |
46 |
If ( me == 0 ) lb1 = 2 |
47 |
nsize = n1 |
48 |
If ( glb > nsize ) Then |
49 |
lb2 = 1 |
50 |
Else |
51 |
lb2 = nsize - glb + 1 |
52 |
End If |
53 |
If ( gub > nsize ) Then |
54 |
ub2 = m |
55 |
Else |
56 |
ub2 = 0 !<-- Make upper bound so low that loop |
57 |
End If ! will never execute. |
58 |
nsize = n12 |
59 |
If ( glb > nsize ) Then |
60 |
lb3 = 1 |
61 |
Else |
62 |
lb3 = nsize - glb + 1 |
63 |
End If |
64 |
If ( gub > nsize ) Then |
65 |
ub3 = m |
66 |
Else |
67 |
ub3 = 0 !<-- Make upper bound so low that loop |
68 |
End If ! will never execute. |
69 |
! ---------------------------------------------------------------------- |
70 |
End Subroutine taylor |