1
0
mirror of https://https.git.savannah.gnu.org/git/gnulib.git synced 2026-09-01 02:34:55 +00:00

New module 'printf-frexpl'.

This commit is contained in:
Bruno Haible
2007-02-25 14:28:50 +00:00
parent 973c0665ff
commit e4bed0733a
4 changed files with 81 additions and 0 deletions
+7
View File
@@ -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.
+19
View File
@@ -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"
+24
View File
@@ -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);
+31
View File
@@ -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