Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/pr40669.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* PR middle-end/40669 */ /* { dg-do compile } */ /* { dg-options "-O2 -ffast-math" } */ double _Complex test (int d, int t, double *x, double *y, double *z, int n, double _Complex (*fnp) (double)) { int m = n / 2; double min = y[t], max = z[t], med = x[m * d + t]; double _Complex result = 0.0; if (n == 0) return 0.0; if (min > med) result += test (d, (t + 1) % d, x + (m + 1) * d, y, z, n - m - 1, fnp); else if (max < med) result += test (d, (t + 1) % d, x, y, z, m, fnp); else { result += fnp (y[0] + x[m]); result += test (d, (t + 1) % d, x + (m + 1) * d, y, z, n - m - 1, fnp); } return result; }