Mercurial > hg > octave-nkf > gnulib-hg
annotate lib/human.h @ 3843:2f0e1c3ba75b
*** empty log message ***
author | Jim Meyering <jim@meyering.net> |
---|---|
date | Wed, 22 May 2002 08:36:32 +0000 |
parents | 734d9b0f9fce |
children | 98b37cab8b76 |
rev | line source |
---|---|
1137
2c9059ccc457
New file. The interface is inspired
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
1 #ifndef HUMAN_H_ |
2c9059ccc457
New file. The interface is inspired
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
2 # define HUMAN_H_ 1 |
2c9059ccc457
New file. The interface is inspired
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
3 |
1813
9e16d9bc8891
<inttypes.h>: Include it here instead.
Jim Meyering <jim@meyering.net>
parents:
1392
diff
changeset
|
4 # if HAVE_CONFIG_H |
9e16d9bc8891
<inttypes.h>: Include it here instead.
Jim Meyering <jim@meyering.net>
parents:
1392
diff
changeset
|
5 # include <config.h> |
9e16d9bc8891
<inttypes.h>: Include it here instead.
Jim Meyering <jim@meyering.net>
parents:
1392
diff
changeset
|
6 # endif |
9e16d9bc8891
<inttypes.h>: Include it here instead.
Jim Meyering <jim@meyering.net>
parents:
1392
diff
changeset
|
7 |
9e16d9bc8891
<inttypes.h>: Include it here instead.
Jim Meyering <jim@meyering.net>
parents:
1392
diff
changeset
|
8 # if HAVE_INTTYPES_H |
9e16d9bc8891
<inttypes.h>: Include it here instead.
Jim Meyering <jim@meyering.net>
parents:
1392
diff
changeset
|
9 # include <inttypes.h> |
9e16d9bc8891
<inttypes.h>: Include it here instead.
Jim Meyering <jim@meyering.net>
parents:
1392
diff
changeset
|
10 # endif |
9e16d9bc8891
<inttypes.h>: Include it here instead.
Jim Meyering <jim@meyering.net>
parents:
1392
diff
changeset
|
11 |
1137
2c9059ccc457
New file. The interface is inspired
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
12 /* A conservative bound on the maximum length of a human-readable string. |
2c9059ccc457
New file. The interface is inspired
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
13 The output can be the product of the largest uintmax_t and the largest int, |
2c9059ccc457
New file. The interface is inspired
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
14 so add their sizes before converting to a bound on digits. */ |
1141 | 15 # define LONGEST_HUMAN_READABLE ((sizeof (uintmax_t) + sizeof (int)) \ |
16 * CHAR_BIT / 3) | |
1137
2c9059ccc457
New file. The interface is inspired
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
17 |
1170 | 18 # ifndef PARAMS |
19 # if defined PROTOTYPES || (defined __STDC__ && __STDC__) | |
20 # define PARAMS(Args) Args | |
1141 | 21 # else |
1170 | 22 # define PARAMS(Args) () |
23 # endif | |
24 # endif | |
1137
2c9059ccc457
New file. The interface is inspired
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
25 |
1864
734d9b0f9fce
(enum human_inexact_style): New enum.
Jim Meyering <jim@meyering.net>
parents:
1813
diff
changeset
|
26 enum human_inexact_style |
734d9b0f9fce
(enum human_inexact_style): New enum.
Jim Meyering <jim@meyering.net>
parents:
1813
diff
changeset
|
27 { |
734d9b0f9fce
(enum human_inexact_style): New enum.
Jim Meyering <jim@meyering.net>
parents:
1813
diff
changeset
|
28 human_floor = -1, |
734d9b0f9fce
(enum human_inexact_style): New enum.
Jim Meyering <jim@meyering.net>
parents:
1813
diff
changeset
|
29 human_round_to_even = 0, |
734d9b0f9fce
(enum human_inexact_style): New enum.
Jim Meyering <jim@meyering.net>
parents:
1813
diff
changeset
|
30 human_ceiling = 1 |
734d9b0f9fce
(enum human_inexact_style): New enum.
Jim Meyering <jim@meyering.net>
parents:
1813
diff
changeset
|
31 }; |
734d9b0f9fce
(enum human_inexact_style): New enum.
Jim Meyering <jim@meyering.net>
parents:
1813
diff
changeset
|
32 |
1392
849f05797f68
(human_readable): Coalesce last two args into one, for convenience.
Jim Meyering <jim@meyering.net>
parents:
1170
diff
changeset
|
33 char *human_readable PARAMS ((uintmax_t, char *, int, int)); |
1864
734d9b0f9fce
(enum human_inexact_style): New enum.
Jim Meyering <jim@meyering.net>
parents:
1813
diff
changeset
|
34 char *human_readable_inexact PARAMS ((uintmax_t, char *, int, int, |
734d9b0f9fce
(enum human_inexact_style): New enum.
Jim Meyering <jim@meyering.net>
parents:
1813
diff
changeset
|
35 enum human_inexact_style)); |
1392
849f05797f68
(human_readable): Coalesce last two args into one, for convenience.
Jim Meyering <jim@meyering.net>
parents:
1170
diff
changeset
|
36 |
849f05797f68
(human_readable): Coalesce last two args into one, for convenience.
Jim Meyering <jim@meyering.net>
parents:
1170
diff
changeset
|
37 void human_block_size PARAMS ((char const *, int, int *)); |
1137
2c9059ccc457
New file. The interface is inspired
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
38 |
2c9059ccc457
New file. The interface is inspired
Jim Meyering <jim@meyering.net>
parents:
diff
changeset
|
39 #endif /* HUMAN_H_ */ |