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

Comparing jsr166/src/test/loops/DynamicAsyncFib.java (file contents):
Revision 1.3 by jsr166, Mon Nov 29 20:58:06 2010 UTC vs.
Revision 1.7 by dl, Sat Sep 12 18:23:25 2015 UTC

# Line 1 | Line 1
1   /*
2   * Written by Doug Lea with assistance from members of JCP JSR-166
3   * Expert Group and released to the public domain, as explained at
4 < * http://creativecommons.org/licenses/publicdomain
4 > * http://creativecommons.org/publicdomain/zero/1.0/
5   */
6  
7   import java.util.concurrent.*;
8  
9 < public final class DynamicAsyncFib  extends BinaryAsyncAction {
9 > public final class DynamicAsyncFib extends BinaryAsyncAction {
10      int number;
11  
12      public DynamicAsyncFib(int n) {
# Line 17 | Line 17 | public final class DynamicAsyncFib  exte
17          DynamicAsyncFib f = this;
18          int n = f.number;
19          while (n > 1 && getSurplusQueuedTaskCount() <= 3) {
20 <            DynamicAsyncFib l = new DynamicAsyncFib(--n);
21 <            DynamicAsyncFib r = new DynamicAsyncFib(n - 1);
20 >            DynamicAsyncFib l = new DynamicAsyncFib(n - 1);
21 >            DynamicAsyncFib r = new DynamicAsyncFib(n - 2);
22              f.linkSubtasks(l, r);
23              r.fork();
24              f = l;
25 +            --n;
26          }
27 <        f.number = seqFib(n);
27 >        f.number = n <= 1? n : seqFib(n);
28          f.complete();
29          return false;
30      }
# Line 92 | Line 93 | public final class DynamicAsyncFib  exte
93          return r;
94      }
95   }
95
96

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines