| * This file has no copyright assigned and is placed in the Public Domain. |
| * This file is part of the mingw-w64 runtime package. |
| * No warranty is given; refer to the file DISCLAIMER.PD within this package. |
| #define FE_ROUNDING_MASK \ |
| (FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO) |
| modf (double value, double* iptr) |
| "movzwl 4(%%rsp), %%eax\n" |
| "addq $8, %%rsp\n" : "=t" (int_part) : "0" (value)); /* round */ |
| asm ("push %%eax\n\tsubl $8, %%esp\n" |
| "movzwl 4(%%esp), %%eax\n" |
| "addl $8, %%esp\n\tpop %%eax\n" : "=t" (int_part) : "0" (value)); /* round */ |
| return (isinf (value) ? 0.0 : value - int_part); |