void foo (long *output, double *input) { int i = 0; /* Vectorizable. */ for (i = 0; i < N; i++) output[i] = __builtin_lceil (input[i]); }
void test(double x) { #ifdef HAVE_C99_RUNTIME if (sizeof(long) != sizeof(long long)) return; if (__builtin_lceil(x) != __builtin_llceil(x)) link_error(); if (__builtin_lfloor(x) != __builtin_llfloor(x)) link_error(); if (lround(x) != llround(x)) link_error(); if (lrint(x) != llrint(x)) link_error(); #endif }
void lceil_double (double x, int b) { if (b) global = __builtin_lceil (x); }