ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/test/loops/CCJacobi.java
(Generate patch)

Comparing jsr166/src/test/loops/CCJacobi.java (file contents):
Revision 1.2 by jsr166, Sat May 5 17:09:23 2012 UTC vs.
Revision 1.5 by jsr166, Mon Aug 10 03:13:33 2015 UTC

# Line 77 | Line 77 | public class CCJacobi {
77          }
78      }
79  
80 <
81 <    abstract static class MatrixTree extends CountedCompleter {
80 >    abstract static class MatrixTree extends CountedCompleter<Void> {
81          // maximum difference between old and new values
82          double maxDiff;
83 <        MatrixTree(CountedCompleter p, int c) { super(p, c); }
83 >        MatrixTree(CountedCompleter<?> p, int c) { super(p, c); }
84      }
85  
87
86      static final class LeafNode extends MatrixTree {
87          final double[][] A; // matrix to get old values from
88          final double[][] B; // matrix to put new values into
# Line 95 | Line 93 | public class CCJacobi {
93  
94          int steps = 0; // track even/odd steps
95  
96 <        LeafNode(CountedCompleter p,
96 >        LeafNode(CountedCompleter<?> p,
97                   double[][] A, double[][] B,
98                   int loRow, int hiRow,
99                   int loCol, int hiCol) {
# Line 134 | Line 132 | public class CCJacobi {
132          MatrixTree q2;
133          MatrixTree q3;
134          MatrixTree q4;
135 <        FourNode(CountedCompleter p) {
135 >        FourNode(CountedCompleter<?> p) {
136              super(p, 3);
137          }
138  
139 <        public void onCompletion(CountedCompleter caller) {
139 >        public void onCompletion(CountedCompleter<?> caller) {
140              double md = q1.maxDiff, m;
141              if ((m = q2.maxDiff) > md)
142                  md = m;
# Line 158 | Line 156 | public class CCJacobi {
156          }
157      }
158  
161
159      static final class TwoNode extends MatrixTree {
160          MatrixTree q1;
161          MatrixTree q2;
162  
163 <        TwoNode(CountedCompleter p) {
163 >        TwoNode(CountedCompleter<?> p) {
164              super(p, 1);
165          }
166  
167 <        public void onCompletion(CountedCompleter caller) {
167 >        public void onCompletion(CountedCompleter<?> caller) {
168              double md = q1.maxDiff, m;
169              if ((m = q2.maxDiff) > md)
170                  md = m;
# Line 179 | Line 176 | public class CCJacobi {
176              q2.fork();
177              q1.compute();
178          }
182
179      }
180  
181      static final class Driver extends RecursiveAction {
# Line 205 | Line 201 | public class CCJacobi {
201              this.leafs = leafs;
202              mat = build(null, A, B, firstRow, lastRow, firstCol, lastCol, leafs);
203              System.out.println("Using " + nleaf + " segments");
208
204          }
205  
206          MatrixTree build(MatrixTree p,
# Line 260 | Line 255 | public class CCJacobi {
255              System.out.println("max diff after " + steps + " steps = " + md);
256          }
257      }
263
264
258   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines