Edit

kc3-lang/gnulib/lib/human.h

Branch :

  • Show log

    Commit

  • Author : Jim Meyering
    Date : 1999-07-04 08:47:49
    Hash : e389e12a
    Message : (enum human_inexact_style): New enum. (human_readable_inexact): New decl.

  • lib/human.h
  • #ifndef HUMAN_H_
    # define HUMAN_H_ 1
    
    # if HAVE_CONFIG_H
    #  include <config.h>
    # endif
    
    # if HAVE_INTTYPES_H
    #  include <inttypes.h>
    # endif
    
    /* A conservative bound on the maximum length of a human-readable string.
       The output can be the product of the largest uintmax_t and the largest int,
       so add their sizes before converting to a bound on digits.  */
    # define LONGEST_HUMAN_READABLE ((sizeof (uintmax_t) + sizeof (int)) \
    				 * CHAR_BIT / 3)
    
    # ifndef PARAMS
    #  if defined PROTOTYPES || (defined __STDC__ && __STDC__)
    #   define PARAMS(Args) Args
    #  else
    #   define PARAMS(Args) ()
    #  endif
    # endif
    
    enum human_inexact_style
    {
      human_floor = -1,
      human_round_to_even = 0,
      human_ceiling = 1
    };
    
    char *human_readable PARAMS ((uintmax_t, char *, int, int));
    char *human_readable_inexact PARAMS ((uintmax_t, char *, int, int,
    				      enum human_inexact_style));
    
    void human_block_size PARAMS ((char const *, int, int *));
    
    #endif /* HUMAN_H_ */