Mercurial > hg > octave-lojdl > gnulib-hg
changeset 15290:8667c32d9a38
ceilf-ieee: Work around bug on AIX 7.1.
* m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
* doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Sun, 19 Jun 2011 11:54:43 +0200 |
parents | d0be0ef239a7 |
children | a9c28bdd16ab |
files | ChangeLog doc/posix-functions/ceilf.texi m4/ceilf.m4 |
diffstat | 3 files changed, 17 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2011-06-19 Bruno Haible <bruno@clisp.org> + + ceilf-ieee: Work around bug on AIX 7.1. + * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f). + * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem. + 2011-06-19 Bruno Haible <bruno@clisp.org> ceil-ieee: Work around bug on AIX 7.1.
--- a/doc/posix-functions/ceilf.texi +++ b/doc/posix-functions/ceilf.texi @@ -16,6 +16,10 @@ Portability problems fixed by Gnulib module @code{ceilf-ieee}: @itemize @item +This function returns a positive zero for an argument between -1 and 0 +on some platforms: +AIX 7.1. +@item This function returns a positive zero for a minus zero argument on some platforms: OSF/1 5.1.
--- a/m4/ceilf.m4 +++ b/m4/ceilf.m4 @@ -1,4 +1,4 @@ -# ceilf.m4 serial 9 +# ceilf.m4 serial 10 dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -37,10 +37,14 @@ ]gl_FLOAT_SIGNBIT_CODE[ int main() { + int result = 0; /* Test whether ceilf (-0.0f) is -0.0f. */ if (signbitf (minus_zerof) && !signbitf (ceilf (minus_zerof))) - return 1; - return 0; + result |= 1; + /* Test whether ceilf (-0.3f) is -0.0f. */ + if (signbitf (-0.3f) && !signbitf (ceilf (-0.3f))) + result |= 2; + return result; } ]])], [gl_cv_func_ceilf_ieee=yes],