annotate gcc/testsuite/gcc.dg/tree-ssa/split-path-10.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* PR tree-optimization/79389 */
kono
parents:
diff changeset
2 /* { dg-do compile } */
kono
parents:
diff changeset
3 /* { dg-options "-O3 -fdump-tree-split-paths-details" } */
kono
parents:
diff changeset
4
kono
parents:
diff changeset
5 typedef struct
kono
parents:
diff changeset
6 {
kono
parents:
diff changeset
7 int m[17];
kono
parents:
diff changeset
8 int seed;
kono
parents:
diff changeset
9 int i;
kono
parents:
diff changeset
10 int j;
kono
parents:
diff changeset
11 int haveRange;
kono
parents:
diff changeset
12 double left;
kono
parents:
diff changeset
13 double right;
kono
parents:
diff changeset
14 double width;
kono
parents:
diff changeset
15 }
kono
parents:
diff changeset
16 Random_struct, *Random;
kono
parents:
diff changeset
17
kono
parents:
diff changeset
18 Random new_Random_seed(int seed);
kono
parents:
diff changeset
19 double Random_nextDouble(Random R);
kono
parents:
diff changeset
20 void Random_delete(Random R);
kono
parents:
diff changeset
21
kono
parents:
diff changeset
22 static const int SEED = 113;
kono
parents:
diff changeset
23
kono
parents:
diff changeset
24 double MonteCarlo_integrate(int Num_samples)
kono
parents:
diff changeset
25 {
kono
parents:
diff changeset
26
kono
parents:
diff changeset
27
kono
parents:
diff changeset
28 Random R = new_Random_seed(SEED);
kono
parents:
diff changeset
29
kono
parents:
diff changeset
30
kono
parents:
diff changeset
31 int under_curve = 0;
kono
parents:
diff changeset
32 int count;
kono
parents:
diff changeset
33
kono
parents:
diff changeset
34 for (count=0; count<Num_samples; count++)
kono
parents:
diff changeset
35 {
kono
parents:
diff changeset
36 double x= Random_nextDouble(R);
kono
parents:
diff changeset
37 double y= Random_nextDouble(R);
kono
parents:
diff changeset
38
kono
parents:
diff changeset
39 if ( x*x + y*y <= 1.0)
kono
parents:
diff changeset
40 under_curve ++;
kono
parents:
diff changeset
41
kono
parents:
diff changeset
42 }
kono
parents:
diff changeset
43
kono
parents:
diff changeset
44 Random_delete(R);
kono
parents:
diff changeset
45
kono
parents:
diff changeset
46 return ((double) under_curve / Num_samples) * 4.0;
kono
parents:
diff changeset
47 }
kono
parents:
diff changeset
48
kono
parents:
diff changeset
49 /* { dg-final { scan-tree-dump-times "Duplicating join block" 0 "split-paths" } } */