Back to index

glibc  2.9
Functions
s_ceil.c File Reference
#include <math.h>
#include <math_ldbl_opt.h>

Go to the source code of this file.

Functions

double __ceil (double x)

Function Documentation

double __ceil ( double  x)

Definition at line 28 of file s_ceil.c.

{
  double two52 = copysign (0x1.0p52, x);
  double r, tmp;
  
  __asm (
#ifdef _IEEE_FP_INEXACT
        "addt/suim %2, %3, %1\n\tsubt/suim %1, %3, %0"
#else
        "addt/sum %2, %3, %1\n\tsubt/sum %1, %3, %0"
#endif
        : "=&f"(r), "=&f"(tmp)
        : "f"(-x), "f"(-two52));

  /* Fix up the negation we did above, as well as handling -0 properly. */
  return copysign (r, x);
}

Here is the call graph for this function: