Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/gcc.dg/pr40669.c @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 /* PR middle-end/40669 */ | |
2 /* { dg-do compile } */ | |
3 /* { dg-options "-O2 -ffast-math" } */ | |
4 | |
5 double _Complex | |
6 test (int d, int t, double *x, double *y, double *z, int n, | |
7 double _Complex (*fnp) (double)) | |
8 { | |
9 int m = n / 2; | |
10 double min = y[t], max = z[t], med = x[m * d + t]; | |
11 double _Complex result = 0.0; | |
12 | |
13 if (n == 0) | |
14 return 0.0; | |
15 | |
16 if (min > med) | |
17 result += test (d, (t + 1) % d, x + (m + 1) * d, y, z, n - m - 1, fnp); | |
18 else if (max < med) | |
19 result += test (d, (t + 1) % d, x, y, z, m, fnp); | |
20 else | |
21 { | |
22 result += fnp (y[0] + x[m]); | |
23 result += test (d, (t + 1) % d, x + (m + 1) * d, y, z, n - m - 1, fnp); | |
24 } | |
25 return result; | |
26 } |