diff options
Diffstat (limited to 'winsup/cygwin/math/roundl.c')
-rw-r--r-- | winsup/cygwin/math/roundl.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/winsup/cygwin/math/roundl.c b/winsup/cygwin/math/roundl.c new file mode 100644 index 000000000..9879a82cc --- /dev/null +++ b/winsup/cygwin/math/roundl.c @@ -0,0 +1,26 @@ +/** + * 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. + */ +#include <math.h> + +long double +roundl (long double x) +{ + long double res = 0.0L; + if (x >= 0.0L) + { + res = ceill (x); + if (res - x > 0.5L) + res -= 1.0L; + } + else + { + res = ceill (-x); + if (res + x > 0.5L) + res -= 1.0L; + res = -res; + } + return res; +} |