mirror of
https://github.com/reactos/reactos.git
synced 2025-07-04 10:11:22 +00:00
21 lines
No EOL
477 B
C
21 lines
No EOL
477 B
C
double ceil (double __x);
|
|
|
|
double ceil (double __x)
|
|
{
|
|
register double __value;
|
|
__volatile unsigned short int __cw, __cwtmp;
|
|
|
|
__asm __volatile ("fnstcw %0" : "=m" (__cw));
|
|
__cwtmp = (__cw & 0xf3ff) | 0x0800; /* rounding up */
|
|
__asm __volatile ("fldcw %0" : : "m" (__cwtmp));
|
|
__asm __volatile ("frndint" : "=t" (__value) : "0" (__x));
|
|
__asm __volatile ("fldcw %0" : : "m" (__cw));
|
|
|
|
return __value;
|
|
}
|
|
|
|
|
|
long double ceill (long double __x)
|
|
{
|
|
return floor(__x)+1;
|
|
} |