public class PI1 {
static long num_steps = 100000;
static double step;
static double sum = 0.0;
static int part_step;
static class PITask extends Thread {
int part_number;
double x = 0.0;
double sum = 0.0;
public PITask(int part_number) {
this.part_number = part_number;
}
public void run() {
for (int i = part_number; i < num_steps; i += part_step) {
x = (i + 0.5) * step;
sum += 4.0 / (1.0 + x * x);
}
}
}
public static void main(String[] args) {
int i;
double pi;
step = 1.0 / (double) num_steps;
part_step = Runtime.getRuntime().availableProcessors();
PITask[] part_sums = new PITask[part_step];
for (i = 0; i < part_step; i++) {
(part_sums = new PITask(i)).start();
}
for (i = 0; i < part_step; i++) {
try {
part_sums.join();
} catch (InterruptedException e) {
}
sum += part_sums.sum;
}
pi = step * sum;
System.out.println(pi);
}
}
import EDU.oswego.cs.dl.util.concurrent.FJTask;
import EDU.oswego.cs.dl.util.concurrent.FJTaskRunnerGroup;
public class PI2 {
static int num_steps = 100000;
static double step;
static double sum = 0.0;
static int part_step;
static class PITask extends FJTask {
int i = 0;
double sum = 0.0;
public PITask(int i) {
this.i = i;
}
public void run() {
double x = (i + 0.5) * step;
sum += 4.0 / (1.0 + x * x);
}
}
public static void main(String[] args) {
int i;
double pi;
step = 1.0 / (double) num_steps;
try {
FJTaskRunnerGroup g = new FJTaskRunnerGroup(Runtime.getRuntime()
.availableProcessors());
PITask[] tasks = new PITask[num_steps];
for (i = 0; i < num_steps; i++) {
tasks = new PITask(i);
}
g.invoke(new FJTask.Par(tasks));
for (i = 0; i < num_steps; i++) {
sum += tasks.sum;
}
pi = step * sum;
System.out.println(pi);
System.out.println(Math.PI);
} catch (InterruptedException ie) {
}
}
}
public class PI1 {
static long num_steps = 100000;
static double step;
static double sum = 0.0;
static int part_step;
static class PITask extends Thread {
int part_number;
double x = 0.0;
double sum = 0.0;
public PITask(int part_number) {
this.part_number = part_number;
}
public void run() {
for (int i = part_number; i < num_steps; i += part_step) {
x = (i + 0.5) * step;
sum += 4.0 / (1.0 + x * x);
}
}
}
public static void main(String[] args) {
int i;
double pi;
step = 1.0 / (double) num_steps;
part_step = Runtime.getRuntime().availableProcessors();
PITask[] part_sums = new PITask[part_step];
for (i = 0; i < part_step; i++) {
(part_sums = new PITask(i)).start();
}
for (i = 0; i < part_step; i++) {
try {
part_sums.join();
} catch (InterruptedException e) {
}
sum += part_sums.sum;
}
pi = step * sum;
System.out.println(pi);
}
}
import EDU.oswego.cs.dl.util.concurrent.FJTask;
import EDU.oswego.cs.dl.util.concurrent.FJTaskRunnerGroup;
public class PI2 {
static int num_steps = 100000;
static double step;
static double sum = 0.0;
static int part_step;
static class PITask extends FJTask {
int i = 0;
double sum = 0.0;
public PITask(int i) {
this.i = i;
}
public void run() {
double x = (i + 0.5) * step;
sum += 4.0 / (1.0 + x * x);
}
}
public static void main(String[] args) {
int i;
double pi;
step = 1.0 / (double) num_steps;
try {
FJTaskRunnerGroup g = new FJTaskRunnerGroup(Runtime.getRuntime()
.availableProcessors());
PITask[] tasks = new PITask[num_steps];
for (i = 0; i < num_steps; i++) {
tasks = new PITask(i);
}
g.invoke(new FJTask.Par(tasks));
for (i = 0; i < num_steps; i++) {
sum += tasks.sum;
}
pi = step * sum;
System.out.println(pi);
System.out.println(Math.PI);
} catch (InterruptedException ie) {
}
}
}
public class PI1 {
static long num_steps = 100000;
static double step;
static double sum = 0.0;
static int part_step;
static class PITask extends Thread {
int part_number;
double x = 0.0;
double sum = 0.0;
public PITask(int part_number) {
this.part_number = part_number;
}
public void run() {
for (int i = part_number; i < num_steps; i += part_step) {
x = (i + 0.5) * step;
sum += 4.0 / (1.0 + x * x);
}
}
}
public static void main(String[] args) {
int i;
double pi;
step = 1.0 / (double) num_steps;
part_step = Runtime.getRuntime().availableProcessors();
PITask[] part_sums = new PITask[part_step];
for (i = 0; i < part_step; i++) {
(part_sums = new PITask(i)).start();
}
for (i = 0; i < part_step; i++) {
try {
part_sums.join();
} catch (InterruptedException e) {
}
sum += part_sums.sum;
}
pi = step * sum;
System.out.println(pi);
}
}
import EDU.oswego.cs.dl.util.concurrent.FJTask;
import EDU.oswego.cs.dl.util.concurrent.FJTaskRunnerGroup;
public class PI2 {
static int num_steps = 100000;
static double step;
static double sum = 0.0;
static int part_step;
static class PITask extends FJTask {
int i = 0;
double sum = 0.0;
public PITask(int i) {
this.i = i;
}
public void run() {
double x = (i + 0.5) * step;
sum += 4.0 / (1.0 + x * x);
}
}
public static void main(String[] args) {
int i;
double pi;
step = 1.0 / (double) num_steps;
try {
FJTaskRunnerGroup g = new FJTaskRunnerGroup(Runtime.getRuntime()
.availableProcessors());
PITask[] tasks = new PITask[num_steps];
for (i = 0; i < num_steps; i++) {
tasks = new PITask(i);
}
g.invoke(new FJTask.Par(tasks));
for (i = 0; i < num_steps; i++) {
sum += tasks.sum;
}
pi = step * sum;
System.out.println(pi);
System.out.println(Math.PI);
} catch (InterruptedException ie) {
}
}
}
public class PI1 {
static long num_steps = 100000;
static double step;
static double sum = 0.0;
static int part_step;
static class PITask extends Thread {
int part_number;
double x = 0.0;
double sum = 0.0;
public PITask(int part_number) {
this.part_number = part_number;
}
public void run() {
for (int i = part_number; i < num_steps; i += part_step) {
x = (i + 0.5) * step;
sum += 4.0 / (1.0 + x * x);
}
}
}
public static void main(String[] args) {
int i;
double pi;
step = 1.0 / (double) num_steps;
part_step = Runtime.getRuntime().availableProcessors();
PITask[] part_sums = new PITask[part_step];
for (i = 0; i < part_step; i++) {
(part_sums = new PITask(i)).start();
}
for (i = 0; i < part_step; i++) {
try {
part_sums.join();
} catch (InterruptedException e) {
}
sum += part_sums.sum;
}
pi = step * sum;
System.out.println(pi);
}
}
import EDU.oswego.cs.dl.util.concurrent.FJTask;
import EDU.oswego.cs.dl.util.concurrent.FJTaskRunnerGroup;
public class PI2 {
static int num_steps = 100000;
static double step;
static double sum = 0.0;
static int part_step;
static class PITask extends FJTask {
int i = 0;
double sum = 0.0;
public PITask(int i) {
this.i = i;
}
public void run() {
double x = (i + 0.5) * step;
sum += 4.0 / (1.0 + x * x);
}
}
public static void main(String[] args) {
int i;
double pi;
step = 1.0 / (double) num_steps;
try {
FJTaskRunnerGroup g = new FJTaskRunnerGroup(Runtime.getRuntime()
.availableProcessors());
PITask[] tasks = new PITask[num_steps];
for (i = 0; i < num_steps; i++) {
tasks = new PITask(i);
}
g.invoke(new FJTask.Par(tasks));
for (i = 0; i < num_steps; i++) {
sum += tasks.sum;
}
pi = step * sum;
System.out.println(pi);
System.out.println(Math.PI);
} catch (InterruptedException ie) {
}
}
}