OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc1/] [gcc/] [testsuite/] [gcc.dg/] [pr40669.c] - Diff between revs 298 and 338

Only display areas with differences | Details | Blame | View Log

Rev 298 Rev 338
/* PR middle-end/40669 */
/* PR middle-end/40669 */
/* { dg-do compile } */
/* { dg-do compile } */
/* { dg-options "-O2 -ffast-math" } */
/* { dg-options "-O2 -ffast-math" } */
 
 
double _Complex
double _Complex
test (int d, int t, double *x, double *y, double *z, int n,
test (int d, int t, double *x, double *y, double *z, int n,
      double _Complex (*fnp) (double))
      double _Complex (*fnp) (double))
{
{
  int m = n / 2;
  int m = n / 2;
  double min = y[t], max = z[t], med = x[m * d + t];
  double min = y[t], max = z[t], med = x[m * d + t];
  double _Complex result = 0.0;
  double _Complex result = 0.0;
 
 
  if (n == 0)
  if (n == 0)
    return 0.0;
    return 0.0;
 
 
  if (min > med)
  if (min > med)
    result += test (d, (t + 1) % d, x + (m + 1) * d, y, z, n - m - 1, fnp);
    result += test (d, (t + 1) % d, x + (m + 1) * d, y, z, n - m - 1, fnp);
  else if (max < med)
  else if (max < med)
    result += test (d, (t + 1) % d, x, y, z, m, fnp);
    result += test (d, (t + 1) % d, x, y, z, m, fnp);
  else
  else
    {
    {
      result += fnp (y[0] + x[m]);
      result += fnp (y[0] + x[m]);
      result += test (d, (t + 1) % d, x + (m + 1) * d, y, z, n - m - 1, fnp);
      result += test (d, (t + 1) % d, x + (m + 1) * d, y, z, n - m - 1, fnp);
    }
    }
  return result;
  return result;
}
}
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.