pmnumberstr(3) - Linux manual page

NAME | C SYNOPSIS | DESCRIPTION | NOTES | SEE ALSO | COLOPHON

PMNUMBERSTR(3)            Library Functions Manual            PMNUMBERSTR(3)

NAME         top

       pmNumberStr, pmNumberStr_r - fixed width output format for numbers

C SYNOPSIS         top

       #include <pcp/pmapi.h>

       const char *pmNumberStr(double value);
       char *pmNumberStr_r(double value, char *buf, int buflen);

       cc ... -lpcp

DESCRIPTION         top

       pmNumberStr returns the address of a 8-byte buffer that holds a null-
       byte terminated representation of value suitable for output with
       fixed width fields.  The pmNumberStr_r function does the same, but
       stores the result in a user-supplied buffer buf of length buflen,
       which should have room for at least 8 bytes.

       The value is scaled using multipliers in powers of ``one thousand''
       (the decimal ``kilo'') and has a bias that provides greater precision
       for positive numbers as opposed to negative numbers.

       The format depends on the sign and magnitude of value as follows (d
       represents a decimal digit):

                   ┌──────────────────────────────────┬─────────┐
                   │           value range            │ format  │
                   ├──────────────────────────────────┼─────────┤
                   │        > 999995000000000         │  inf?   │
                   │999995000000000 - 999995000000    │ ddd.ddT │
                   │   999995000000 - 999995000       │ ddd.ddG │
                   │      999995000 - 999995          │ ddd.ddM │
                   │         999995 - 999.995         │ ddd.ddK │
                   │        999.995 - 0.005           │ ddd.dd  │
                   │          0.005 - -0.005          │   0.00  │
                   │         -0.005 - -99.95          │ -dd.dd  │
                   │        -99.995 - -99995          │ -dd.ddK │
                   │         -99995 - -99995000       │ -dd.ddM │
                   │      -99995000 - -99995000000    │ -dd.ddG │
                   │   -99995000000 - -99995000000000 │ -dd.ddT │
                   │       < -99995000000000          │ -inf?   │
                   └──────────────────────────────────┴─────────┘
       At the boundary points of the ranges, the chosen format will retain
       the maximum number of significant digits.

NOTES         top

       pmNumberStr returns a pointer to a static buffer and hence is not
       thread-safe.  Multi-threaded applications should use pmNumberStr_r
       instead.

SEE ALSO         top

       printf(3)

COLOPHON         top

       This page is part of the PCP (Performance Co-Pilot) project.
       Information about the project can be found at ⟨http://www.pcp.io/⟩.
       If you have a bug report for this manual page, send it to
       pcp@groups.io.  This page was obtained from the project's upstream
       Git repository ⟨https://github.com/performancecopilot/pcp.git⟩ on
       2018-02-02.  (At that time, the date of the most recent commit that
       was found in the repository was 2018-02-02.)  If you discover any
       rendering problems in this HTML version of the page, or you believe
       there is a better or more up-to-date source for the page, or you have
       corrections or improvements to the information in this COLOPHON
       (which is not part of the original manual page), send a mail to
       man-pages@man7.org

Performance Co-Pilot                 PCP                      PMNUMBERSTR(3)