annotate lib/printf-frexpl.c @ 16201:8250f2777afc

maint: update all copyright year number ranges Run "make update-copyright".
author Jim Meyering <meyering@redhat.com>
date Sun, 01 Jan 2012 10:04:58 +0100
parents 6860d9f2e394
children e542fd46ad6f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8242
eea9fb26d6bf New module 'printf-frexpl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
1 /* Split a 'long double' into fraction and mantissa, for hexadecimal printf.
16201
8250f2777afc maint: update all copyright year number ranges
Jim Meyering <meyering@redhat.com>
parents: 15933
diff changeset
2 Copyright (C) 2007, 2009-2012 Free Software Foundation, Inc.
8242
eea9fb26d6bf New module 'printf-frexpl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
3
9309
bbbbbf4cd1c5 Change copyright notice from GPLv2+ to GPLv3+.
Bruno Haible <bruno@clisp.org>
parents: 8242
diff changeset
4 This program is free software: you can redistribute it and/or modify
8242
eea9fb26d6bf New module 'printf-frexpl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
5 it under the terms of the GNU General Public License as published by
9309
bbbbbf4cd1c5 Change copyright notice from GPLv2+ to GPLv3+.
Bruno Haible <bruno@clisp.org>
parents: 8242
diff changeset
6 the Free Software Foundation; either version 3 of the License, or
bbbbbf4cd1c5 Change copyright notice from GPLv2+ to GPLv3+.
Bruno Haible <bruno@clisp.org>
parents: 8242
diff changeset
7 (at your option) any later version.
8242
eea9fb26d6bf New module 'printf-frexpl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
8
eea9fb26d6bf New module 'printf-frexpl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
9 This program is distributed in the hope that it will be useful,
eea9fb26d6bf New module 'printf-frexpl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
eea9fb26d6bf New module 'printf-frexpl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
eea9fb26d6bf New module 'printf-frexpl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
12 GNU General Public License for more details.
eea9fb26d6bf New module 'printf-frexpl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
13
9309
bbbbbf4cd1c5 Change copyright notice from GPLv2+ to GPLv3+.
Bruno Haible <bruno@clisp.org>
parents: 8242
diff changeset
14 You should have received a copy of the GNU General Public License
bbbbbf4cd1c5 Change copyright notice from GPLv2+ to GPLv3+.
Bruno Haible <bruno@clisp.org>
parents: 8242
diff changeset
15 along with this program. If not, see <http://www.gnu.org/licenses/>. */
8242
eea9fb26d6bf New module 'printf-frexpl'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
16
15933
6860d9f2e394 printf-frexpl: Simplify for platforms where 'long double' == 'double'.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
17 #include <config.h>
6860d9f2e394 printf-frexpl: Simplify for platforms where 'long double' == 'double'.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
18
6860d9f2e394 printf-frexpl: Simplify for platforms where 'long double' == 'double'.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
19 #if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
6860d9f2e394 printf-frexpl: Simplify for platforms where 'long double' == 'double'.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
20
6860d9f2e394 printf-frexpl: Simplify for platforms where 'long double' == 'double'.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
21 /* Specification. */
6860d9f2e394 printf-frexpl: Simplify for platforms where 'long double' == 'double'.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
22 # include "printf-frexpl.h"
6860d9f2e394 printf-frexpl: Simplify for platforms where 'long double' == 'double'.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
23
6860d9f2e394 printf-frexpl: Simplify for platforms where 'long double' == 'double'.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
24 # include "printf-frexp.h"
6860d9f2e394 printf-frexpl: Simplify for platforms where 'long double' == 'double'.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
25
6860d9f2e394 printf-frexpl: Simplify for platforms where 'long double' == 'double'.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
26 long double
6860d9f2e394 printf-frexpl: Simplify for platforms where 'long double' == 'double'.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
27 printf_frexpl (long double x, int *expptr)
6860d9f2e394 printf-frexpl: Simplify for platforms where 'long double' == 'double'.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
28 {
6860d9f2e394 printf-frexpl: Simplify for platforms where 'long double' == 'double'.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
29 return printf_frexp (x, expptr);
6860d9f2e394 printf-frexpl: Simplify for platforms where 'long double' == 'double'.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
30 }
6860d9f2e394 printf-frexpl: Simplify for platforms where 'long double' == 'double'.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
31
6860d9f2e394 printf-frexpl: Simplify for platforms where 'long double' == 'double'.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
32 #else
6860d9f2e394 printf-frexpl: Simplify for platforms where 'long double' == 'double'.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
33
6860d9f2e394 printf-frexpl: Simplify for platforms where 'long double' == 'double'.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
34 # define USE_LONG_DOUBLE
6860d9f2e394 printf-frexpl: Simplify for platforms where 'long double' == 'double'.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
35 # include "printf-frexp.c"
6860d9f2e394 printf-frexpl: Simplify for platforms where 'long double' == 'double'.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
36
6860d9f2e394 printf-frexpl: Simplify for platforms where 'long double' == 'double'.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
37 #endif