Mercurial > hg > octave-nkf > gnulib-hg
changeset 8242:eea9fb26d6bf
New module 'printf-frexpl'.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Sun, 25 Feb 2007 14:28:50 +0000 |
parents | 0585981641b4 |
children | 597e71b59708 |
files | ChangeLog lib/printf-frexpl.c lib/printf-frexpl.h modules/printf-frexpl |
diffstat | 4 files changed, 81 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2007-02-25 Bruno Haible <bruno@clisp.org> + + * modules/printf-frexpl: New file. + * lib/printf-frexpl.h: New file. + * lib/printf-frexpl.c: New file. + * m4/printf-frexpl.m4: New file. + 2007-02-25 Bruno Haible <bruno@clisp.org> * modules/printf-frexp-tests: New file.
new file mode 100644 --- /dev/null +++ b/lib/printf-frexpl.c @@ -0,0 +1,19 @@ +/* Split a 'long double' into fraction and mantissa, for hexadecimal printf. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#define USE_LONG_DOUBLE +#include "printf-frexp.c"
new file mode 100644 --- /dev/null +++ b/lib/printf-frexpl.h @@ -0,0 +1,24 @@ +/* Split a 'long double' into fraction and mantissa, for hexadecimal printf. + Copyright (C) 2007 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +/* Write a finite, positive number x as + x = mantissa * 2^exp + where exp >= LDBL_MIN_EXP - 1, + mantissa < 2.0, + if x is not a denormalized number then mantissa >= 1.0. + Store exp and return mantissa. */ +extern long double printf_frexpl (long double x, int *exp);
new file mode 100644 --- /dev/null +++ b/modules/printf-frexpl @@ -0,0 +1,31 @@ +Description: +printf_frexpl() function: split a long double into fraction and mantissa, +for hexadecimal printf, without requiring libm. + +Files: +lib/printf-frexpl.h +lib/printf-frexpl.c +lib/printf-frexp.c +m4/printf-frexpl.m4 +m4/longdouble.m4 + +Depends-on: +verify + +configure.ac: +gl_FUNC_PRINTF_FREXPL + +Makefile.am: +lib_SOURCES += printf-frexpl.c + +Include: +#if HAVE_LONG_DOUBLE +# include "printf-frexpl.h" +#endif + +License: +LGPL + +Maintainer: +Bruno Haible +