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 |
|
/** |
10 |
|
* Adapted from FJTask version. |
11 |
< |
* Sample program using Guassian Quadrature for numerical integration. |
11 |
> |
* Sample program using Gaussian Quadrature for numerical integration. |
12 |
|
* Inspired by a |
13 |
|
* <A href="http://www.cs.uga.edu/~dkl/filaments/dist.html"> Filaments</A> |
14 |
|
* demo program. |
15 |
– |
* |
15 |
|
*/ |
17 |
– |
|
16 |
|
public class IntegrateGamma { |
17 |
|
/** for time conversion */ |
18 |
|
static final long NPS = (1000L * 1000 * 1000); |
36 |
|
return; |
37 |
|
} |
38 |
|
|
39 |
< |
ForkJoinPool g = procs == 0? new ForkJoinPool() : |
39 |
> |
ForkJoinPool g = (procs == 0) ? new ForkJoinPool() : |
40 |
|
new ForkJoinPool(procs); |
41 |
|
|
42 |
|
System.out.println("Integrating from " + start + " to " + end + " exponent: " + exp + " parallelism " + g.getParallelism()); |
91 |
|
} |
92 |
|
} |
93 |
|
|
96 |
– |
|
94 |
|
static class Integrator { |
95 |
|
final Function f; // The function to integrate |
96 |
|
final double errorTolerance; |
113 |
|
return q.area; |
114 |
|
} |
115 |
|
|
119 |
– |
|
116 |
|
/** |
117 |
|
* FJTask to recursively perform the quadrature. |
118 |
|
* Algorithm: |
167 |
|
} |
168 |
|
|
169 |
|
} |
174 |
– |
|
175 |
– |
|