<MakerFile 4.0K>
  	
Aak           i       H   H   	      	      d                                            H   H   H   H             ff  @               d  '               Footnote TableFootnote *w *              .   .  / -   :;,.!?- ljmx3        _    -R   -    _  G  ry hl    ld  LOT  
TableTitle    ali LOF   Figure     dOb TOC  1Heading 2Heading 3Heading                                                   	            	                                     EquationVariables        la	            +                   -                   <$paratext[Title]>     <$paratext[1Heading]>      <$curpagenum>      <$lastpagenum>     <$monthname> <$daynum>, <$year>    <$monthname> <$daynum>, <$year>    ;<$monthname> <$daynum>, <$year> <$hour>:<$minute00> <$ampm>    "<$monthnum>/<$daynum>/<$shortyear>K>    (Continued)   + (Sheet <$tblsheetnum> of <$tblsheetcount>)   Page page <$pagenum>   Heading & Page  <$paratext> on page<$pagenum>    Section & Page %Section<$paranum> on page<$pagenum>  See Heading & Page %See <$paratext> on page<$pagenum>.  Table & Page 7Table<$paranumonly>, <$paratext>, on page<$pagenum>l  Figure & Pagea 8Figure<$paranumonly>, <$paratext>, on page<$pagenum>    <$monthname> <$daynum>, <$year>    "<$monthnum>/<$daynum>/<$shortyear>  	   <$fullfilename> 
   <$filename>   
<$marker1>ri   
<$marker2>         +         l                         l            IX         l     ::        A         l              TOCate         l           pag Am         l                       l           r>            l           $ye A          l           >,   ye         l           m>  LOF  "         l     ""          LOT         l     >>      et  Ab         l     ++      >)  A          l     ,,      He  in         l     A8      ge AaU%  
U  o      
V  o      
W          X        
Y  n       Z  <      
[  p       \         ]  a       ^  a       _  r       `  e      
a        b  a       c  n       d  a        e         !f         "g  >      	h  e       $i  o       %j  m      k          'l  i       (m        	n       *o  i       +p  r       ,q         -r          .s          /t          0u        v         Zw  :      	x        	y          5z         	{         |      }        9~         :         ;          <                  
        ?          @         A          B         C  O       D                 F          G  >       H  b       I                                b             %      
  o   1.    
        A      
         T         U         V         W         X         Y     2.      	e              \  a      	n      a       _         `         a  >       b  e       c  o       d  m       e          f  i       g              i      r                    m                       p          q  :       r         s          t         u          v         w                             {          |          }          ~                                     	&  O               $       '       0>      1b      3       4       5       
|              
}      
%      
o      
      
A      
            
      
      c            
                       T       	<       8                        p                                                               9              :                        	                        U              ;                
                                     
       R       V               [                 \              b       c                         	          
         	=       	>                           	'                          	?                 	I                 	A                                                                                             !          "          #          $          %          &         '         (         )       *       	J+       	N,       	O-       [.         \/         	0       1       2       {3        4          5          6          7         8       9       :        ;          <          =          >          ?          @          A          B          C          D          E         F          G          H          I         J         K         XL       YM       N       O       	SP       Q         	R         
S         T         U       V         W         X        Y        Z        [        \        ]        ^        _         `         a         b         c         d         e         f         g         h          i         !j         "k         #l         $m         %n         
o       	p       Mq       
r       s       t       u       v       	(w       y       z       {       q|       1}         2~                                             N       O           3.    V      &      d       Y      +      [X      _Y      n      	T      hS      i      p	      q
      r      s      k      l      r                                                
                              
Z                               !      "      #      
 $      
\%                  M                                    (                          q      1      2                                     N      O            .                                     X      	UY      	V      	Z      	[S              	\	        
                              	_                              	a      	b      	c      	d      	i                  	,      	.      	0      	j      	n      	o      	p      	q       	!      	"        #        $        %      	      	      	M      
            
]      
d      
      
(      
      .        /        0  q      '   1      (2      ;       <      =      >      ?      @N      A	O      B
      C.      D      
      
       
      
      
X      JY      
      O      
S      
      
	      

      
      
      
      
    	I; 6        d          3	m              a                            d          4
m                                        d          5m              0        ,             H            6s  +         H                                "   UUhi9   8#  H   H            7s    
          H   H              A              ,     UU `{7
d 
 +       `D <inttypes.h>
( @  UU `<   
. L  UU `< K/*********************** Basic integer types *****************************
 X  UU `< **
 > d  UU `~< >** The following defines the basic fixed-size integer types. 
 p  UU `< ** 

 |  UU `< K** Implementations are free to typedef them to Standard C integer types or
   UU `p< K** extensions that they support. If an implementation does not support one
   UU `<   N** of the particular integer data types below, then it should not define the 
   UU `<   8** typedefs and macros corresponding to that data type.
     UU `< ** 
     UU `<5 L** intmax_t and uintmax_t are to be the longest (in number of bits) signed 
+ Ī  UU `<  @** and unsigned integer types supported by the implementation. 
 Ъ  UU `<   **
   ܪ  UU `<   M** intptr_t and uintptr_t are signed and unsigned integer types large enough
 誛  UU `< L** to hold any data pointer; that is, data pointers can be assigned into or
**   UU `<er 6** from these integer types without losing precision.
   UU `< **
`~  UU `<wi H** intfast_t and uintfast_t are the most efficient signed and unsigned 

  UU `3< H** integer types of the implementation. These shall be at least 16-bits
or$  UU `O<p 	** long.
t0  UU ` <su **
. I<  UU `<n  */
notH  UU `< 
T  UU`<f  5typedef ? int8_t; /* 8-bit signed integer */ 
 `  UU`< 3typedef ? int16_t; /* 16-bit signed integer */ 
g tl  UU`<   2typedef ? int32_t; /* 32-bit signed integer */
x  UU`<ma 3typedef ? int64_t; /* 64-bit signed integer */ 

+  UU `<  
*  UU`<ge 4typedef ? uint8_t; /* 8-bit unsigned integer */ 
UU  UU`< 6typedef ? uint16_t; /* 16-bit unsigned integer */ 
  UU`<r  5typedef ? uint32_t; /* 32-bit unsigned integer */
y  UU`<t  6typedef ? uint64_t; /* 64-bit unsigned integer */ 
  UU `<th 
 ̪  UU`<ou ?typedef ? intmax_t; /* largest signed integer supported */ 
<wiت  UU`< u Atypedef ? uintmax_t; /* largest unsigned integer supported */
U䪆  UU `<er 
p  UU`< Mtypedef ? intptr_t; /* signed integer type capable of holding a void * */
  UU`< I Otypedef ? uintptr_t /* unsigned integer type capable of holding a void * */
 ?   UU `<8- 
   UU`v<
  Atypedef ? intfast_t; /* most efficient signed integer type */
r   UU`<UU Dtypedef ? uintfast_t  /* most efficient unsigned integer type */
UU,  UU `<?  
6        d          8m                                        d          9m              t                UU   H   H            :n              H   H              %              6r    UU `<_t 
   UU `<d  J/*********************** Extended integer types *************************
   UU `< **
` *  UU `<UU F** The following define the smallest integer types that can hold the 
 6  UU `< ** specified number of bits.
* B  UU `<in **
 su N  UU `< K** Implementations are free to typedef them to Standard C integer types or
r t Z  UU `<di ** any supported extensions. 
 f  UU `<nt */
  r  UU `<er 
p ~  UU `<ng 1/* smallest signed integer of at least 8 bits */
U   UU `<?  typedef ? int_least8_t;
ci   UU `q< t 
    UU `< ;/* the most efficient signed integer of at least 8 bits */
ege   UU `< typedef ? int_fast8_t;
d     UU `<   
  ƪ  UU `< 2/* smallest signed integer of at least 16 bits */
 Ҫ  UU `< typedef ? int_least16_t;
  ު  UU `<   
  ꪗ  UU `<   </* the most efficient signed integer of at least 16 bits */
   UU `</* typedef ? int_fast16_t;
en  UU `<** 
*  UU `<*
 2/* smallest signed integer of at least 32 bits */
  UU `<in typedef ? int_least32_t;
s&  UU `< 
 
2  UU `<** </* the most efficient signed integer of at least 32 bits */
>  UU `<mp typedef ? int_fast32_t;
ypJ  UU `y<ar 
 V  UU `z< t 2/* smallest signed integer of at least 64 bits */
b  UU `<nt typedef ? int_least64_t;
rn  UU `u< 
gz  UU `<ed </* the most efficient signed integer of at least 64 bits */
?   UU `< typedef ? int_fast64_t;
  UU `<he 
s  UU `{< i 3/* smallest unsigned integer of at least 8 bits */
ty  UU `<t; typedef ? uint_least8_t; 
  UU `|< 
*ª  UU `<nt =/* the most efficient unsigned integer of at least 8 bits */
_Ϊ  UU `< typedef ? uint_fast8_t; 
Uڪ  UU `<os 
f檂  UU `<eg 4/* smallest unsigned integer of at least 16 bits */
de  UU `<en typedef ? uint_least16_t; 
  UU `<ma 
s
  UU `<f  >/* the most efficient unsigned integer of at least 16 bits */
~  UU `< typedef ? uint_fast16_t; 
"}  UU `<ci 
 .|  UU `<at 4/* smallest unsigned integer of at least 32 bits */
t_:{  UU `< typedef ? uint_least32_t; 
`zFz  UU `<si 
dRy  UU `<st >/* the most efficient unsigned integer of at least 32 bits */
^x  UU `<
g typedef ? uint_fast32_t; 
jw  UU `<gn 
ivv  UU `< 6 4/* smallest unsigned integer of at least 64 bits */
_tu  UU `t< typedef ? uint_least64_t;
        d          ;m              8                UU   H   H            <n          U H   H                                ef   UU `e7nt 
r   UU `7s  _        d          =m              t        0        os  
f H            >s        i H                                   UUh^8nt # H   $           ?s            H   $                                l   UU`k8~ UU H   H            @n  	         H   H                                es   UU ``7 o t H            As  	        t H                                si   UU `b9 t H   $@ 3R `@      Bn  -          H   $@ 3R `@ H   -   H   -  D  Footnotede l                Cn          i l                                    eg         `_5bi "<$paranum><$paratext><$pagenum>
   UU`l6;
 "<$paranum><$paratext><$pagenum>
 "  UU`q6 "<$paranum><$paratext><$pagenum> l  ar y `@      Dn            l  ar y `@ l    l   D  Table of Contents Specification7s         d          Em                                   os l        u        Fn            l        u                                        `\F^ 	Level2IX
#          `cF   	Level1IX
?          `rF   1, 23
   %         `sF   $<$symbols><$numerics><$alphabetics>
 :         `tG   LSymbols[\ ];Numerics[0];A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;W;X;Y;Z
 E         `uFt <$pagenum>
 R         `z5     l   m^- `@      Gn            l   m^- `@ l   l  D  Index Specificationn        d          Hm                                       l                In             l                                               `f5ra "<$paranum><$paratext><$pagenum> l  ar , `@      J n          n l  ar , `@ l    l   D  List of Figures Specificationr        d          K!m              r        "#             l                L"n  #!          l                                             `g5   "<$paranum><$paratext><$pagenum> l  ar | `@      M#n"  !          l  ar | `@ l    l   D  List of Tables Specificationl1        d          N$m                       %%        s>  nu H   H            O%s    $          H   H              '              6K;   UU `v<U; 
;   UU `<   >/* the most efficient unsigned integer of at least 64 bits */
   UU `<   typedef ? uint_fast64_t; 
 *  UU `<In 
  6  UU `<   
  B  UU `}<m I/* ************************** limits ***********************************
  N  UU `~<   **
   Z  UU `<   9** The following defines the limits for the above types.
p f  UU `2<, **
    r  UU `<   L** INTMAX_MIN (minimum value of the largest supported signed integer type),
   ~  UU `<m L** INTMAX_MAX (maximum value of the largest supported signed integer type),
     UU `<   L** and UINTMAX_MAX (maximum value of the largest supported unsigned integer
t>   UU `<ar 7** type) can be set to implementation defined limits. 
    UU `< o **
les   UU `<   J** NOTE : A programmer can test to see whether an implementation supports
   UU `<s G** a particular size of integer by testing if the macro that gives the
UU ƪ  UU `< K** maximum for that datatype is defined. For example, if #ifdef UINT64_MAX
 Ҫ  UU `<ty N** tests false, the implementation does not support unsigned 64 bit integers.
 ު  UU `<** **
*** ꪗ  UU `<mi @** The values used below are merely examples. Actual limits for
     UU `<   ** an implementation may vary.
mit  UU `<pe **
f  UU `<** :** The type of these macros is intentionally unspecified.
  UU `<d  **
d i&  UU `< */
UU2  UU `<X_ 
 >  UU `<th #define INT8_MIN (-128) 
J  UU `< #define INT16_MIN (-32767-1) 
V  UU `<e  "#define INT32_MIN (-2147483647-1)
b  UU `<UU +#define INT64_MIN (-9223372036854775807-1)
on n  UU `<  
z  UU`<** :#define INT_LEAST8_MIN ?  /* implementation defined */ 
  UU`<pl :#define INT_LEAST16_MIN ?  /* implementation defined */ 
  UU`<es 9#define INT_LEAST32_MIN ?  /* implementation defined */
*  UU`<da 9#define INT_LEAST64_MIN ?  /* implementation defined */
  UU `<** 
s  UU`:<em 8#define INT_FAST8_MIN ?  /* implmentation defined */
ª  UU`<** 8#define INT_FAST16_MIN ?  /* implmentation defined */
exΪ  UU`<it 8#define INT_FAST32_MIN ?  /* implmentation defined */
y.ڪ  UU`< 8#define INT_FAST64_MIN ?  /* implmentation defined */
ro檂  UU `< u 
e  UU `<UU #define INT8_MAX (127) 
U  UU `< #define INT16_MAX (32767) 
UU
  UU `<IN #define INT32_MAX (2147483647)
<~  UU `<N  )#define INT64_MAX (9223372036854775807) 
N"}  UU `<47 

.|  UU `<UU #define UINT8_MAX (255U) 
036:{  UU `< #define UINT16_MAX (65535U) 
UFz  UU `<IN !#define UINT32_MAX (4294967295U)
 Ry  UU `< +#define UINT64_MAX (18446744073709551615U)
imp^x  UU `<d  

jw  UU`<es 6#define INTMAX_MIN ? /* implementation defined */ 
vv  UU`< 6#define INTMAX_MAX ? /* implementation defined */ 
u  UU`<UU 6#define UINTMAX_MAX ? /* implementation defined */
        d          P&m                      ''        IN  FA H   H            Q'n    &        x H   H              %)              6    UU `< d 
n   UU`<UU 6#define INTFAST_MIN ?  /* implementation defined */
   UU`< 6#define INTFAST_MAX ?  /* implementation defined */
 *  UU`<UU 6#define UINTFAST_MAX ?  /* implementation defined */
 6  UU `<2_ 
  B  UU `<~ 
 N  UU `<in 
N Z  UU`<68 :#define INT_LEAST8_MAX ?  /* implementation defined */
 f  UU`<25 :#define INT_LEAST16_MAX ?  /* implementation defined */
 r  UU`<IN :#define INT_LEAST32_MAX ?  /* implementation defined */
 ~  UU`<18 :#define INT_LEAST64_MAX ?  /* implementation defined */
   UU `<IN 
X   UU`<me :#define INT_FAST8_MAX ?  /* implementation defined */
   UU`<at :#define INT_FAST16_MAX ?  /* implementation defined */
   UU`<on :#define INT_FAST32_MAX ?  /* implementation defined */
   UU`<IN :#define INT_FAST64_MAX ?  /* implementation defined */
 ƪ  UU `<   
  Ҫ  UU `< 
U ު  UU `< E/* The following 2 macros are provided for testing whether the types
 ꪗ  UU `<#d G** intptr_t and uintptr_t (integers large enough to hold a void *) are
6#d   UU `< ? J** defined in this header. They are needed in case the architecture cant
  UU `}< 6** represent a pointer in any standard integral type.
  UU `<on */
ned  UU `< #define INTPTR_MAX
ST1&  UU `<em #define UINTPTR_MAX
2  UU `<#d 
n>  UU `<?  
/J  UU `<ef 
dV  UU `< 
8b  UU `<T6 
An  UU `<ta G/* ************************ CONSTANTS ********************************
_FAz  UU `<im **
nta  UU `<A K** The following macros create constants of the above types. The intent is
  UU `|<#d 	** that:
A  UU`<im A**Constants defined using these macros have a specific size and
X  UU`<ta E**signedness. The suffix used for int64_t and uint64_t (ll and ull)
  UU`<he E**are for examples only. Implementations are permitted to use other
ª  UU`<nt **suffixes.
tΪ  UU `<e  */
h tڪ  UU `	<re 
d檂  UU `
< ? #define __CONCAT__(A,B) A ## B
 ar  UU `<he 
c  UU`< #define INT8_C(c)  (c) 
t a
  UU`w<an #define INT16_C(c) (c) 
UU~  UU`< #define INT32_C(c) (c)
"}  UU`< )#define INT64_C(c)  __CONCAT__(c,ll) 
.|  UU `< 
:{  UU`< '#define UINT8_C(c) __CONCAT__(c,u) 

8Fz  UU`<T6 '#define UINT16_C(c) __CONCAT__(c,u)
***Ry  UU`<S  '#define UINT32_C(c) __CONCAT__(c,u)
^x  UU`<ta )#define UINT64_C(c) __CONCAT__(c,ull)
ojw  UU `< o 
hvv  UU`< i (#define INTMAX_C(c) __CONCAT__(c,ll)

Au  UU`<im +#define UINTMAX_C(c) __CONCAT__(c,ull) 
e a        d          R(m              *        ))        x   ed H   H            S)s    (         H   H              '2              6pl   UU `<rm 
e   UU `< K/************************* FORMATTED I/O ******************************** 
<re   UU `<
 **
#d *  UU `<,B H** The following macros can be used even when an implementation has not
)  6  UU `< 3** extended the printf/scanf family of functions. 
UU B  UU `<IN **
(c) N  UU `<UU M** The form of the names of the macros is either PRI for printf specifiers
{ Z  UU ` <#d N** or SCN for scanf specifiers, followed by the conversion specifier letter
 f  UU `!<u) G** followed by the datatype size. For example, PRId32 is the macro for
 r  UU `"<in I** the printf d conversion specifier with the flags for 32 bit datatype.
 ~  UU `#<AX **
   UU `$<
A N** Separate macros are given for printf and scanf because typically different
   UU `%<   ;** size flags must prefix the conversion specifier letter.
 S   UU `&< **
H     UU `4<2 **** An example using one of these macros:
   UU `5< **
*** ƪ  UU`6<** ** uint64_t u;
** Ҫ  UU`7<** '** printf(u = %016 PRIx64 \n, u);
* ު  UU `w<** **
fol ꪗ  UU `.<be J** For the purpose of example, the definitions of the printf/scanf macros
   UU `/< f G** below have the values appropriate for a machine with 16 bit shorts,
M**  UU `;<am "** 32 bit ints, and 64 bit longs.
  UU `<
{ **
  UU `<<r  */
 fo&  UU `L<,  
l2  UU `M<si (/* printf macros for signed integers */
**>  UU`=<at #define PRId8d 
,J  UU`><ro #define PRId16d
"V  UU`?<s #define PRId32d
wb  UU`@<32 #define PRId64ld
n  UU `< 
z  UU`*<** #define PRIdLEAST8d 
  UU`<f  #define PRIdLEAST16d
  UU`<   #define PRIdLEAST32d
  UU`<ci #define PRIdLEAST64ld
`&  UU `< 
U  UU`A<xa #define PRIdFAST8d 
rª  UU`<5 #define PRIdFAST16d
6Ϊ  UU`'< u #define PRIdFAST32d
*ڪ  UU`(<  #define PRIdFAST64ld
檂  UU `)<ol 
  UU`B<** #define PRIi8i
am  UU`C<ns #define PRIi16i
c
  UU`D</ #define PRIi32i
 ~  UU`E< f #define PRIi64li
"}  UU `-< 
U.|  UU`,<t  #define PRIiLEAST8i
:{  UU`<** #define PRIiLEAST16i
Fz  UU`+<L #define PRIiLEAST32i
Ry  UU`P< f #define PRIiLEAST64li
^x  UU `<in 
Rjw  UU`F< #define PRIiFAST8i
16vv  UU`<UU #define PRIiFAST16i
u  UU`<@ #define PRIiFAST32i

        d          T*m              *        22           
 H   H            U+s,         H   H                                   UU `o7 
i   UU `7T6  H   $           V,s+          U H   $                               UU   UU `p8PR A H   2              W-n/        R        ..           Footnote                     X.u    -        )               UU B              Js q< QǦ `@      Y/v-0        R Js q< QǦ `@ Js z Js zD  TableFootnote H   A            Z0n/                  11           TableFootnoteU    ; ~            [1u    0            ; ~       fin PR    ;    ; H   H            \2n    *         H   H              )4              6   UU`<UU #define PRIiFAST64li
   UU `<FA 
   UU `<UU #
 *  UU`G<FA #define PRIo8o
UU 6  UU`H<PR #define PRIo16o
  B  UU`I<m #define PRIo32o
  N  UU`J< 
 #define PRIo64lo
 Z  UU `< 
  f  UU`<   #define PRIoLEAST8o
 r  UU`<
i #define PRIoLEAST16o
 ~  UU`<V #define PRIoLEAST32o
   UU`<   #define PRIoLEAST64lo
UU   UU `<   
    UU`K</ #define PRIoFAST8o
     UU`<  #define PRIoFAST16o
u   UU`<   #define PRIoFAST32o
  ƪ  UU`<Ǧ #define PRIoFAST64lo
 Ҫ  UU `<`@ 
s ު  UU`Q<Ta #define PRIx8x
   ꪗ  UU`R<   #define PRIx16x
1   UU`S<eF #define PRIx32x
   UU`T<   #define PRIx64lx
  UU `<   
;  UU`<   #define PRIxLEAST8x
 &  UU`<   #define PRIxLEAST16x
2  UU`<#d #define PRIxLEAST32x
>  UU`<
 #define PRIxLEAST64lx
J  UU `<in 
RV  UU`U< #define PRIxFAST8x
16b  UU`<UU #define PRIxFAST16x
n  UU`<J #define PRIxFAST32x

z  UU`< #define PRIxFAST64lx
  UU `< 
  UU`V<
i #define PRIX8X
  UU`W< #define PRIX16X
3  UU`X<UU #define PRIX32X
E  UU`Y< #define PRIX64lX
ª  UU `<#d 
nΪ  UU`<   #define PRIXLEAST8X
nڪ  UU`<
u #define PRIXLEST16X
n檂  UU`<
  #define PRIXLEST32X
n  UU`<
 #define PRIXLEST64lX
  UU `Z<#d 
n
  UU`< #define PRIXFAST8X
PR~  UU`< #define PRIXFAST16X
2"}  UU`<UU #define PRIXFAST32X
.|  UU` < #define PRIXFAST64lX
:{  UU `<T8 
Fz  UU `< */* printf macros for unsigned integers */
Ry  UU`<PR #define PRIu8u
^x  UU`<in #define PRIu16u
jw  UU`<in #define PRIu32u
vv  UU`<8 #define PRIu64lu
u  UU `<FA 
6        d          3m              A        44        UU   H   H            	4s    3        U H   H              26              *8   UU`<UU #define PRIuLEAST8u
   UU`<X #define PRIuLEAST16u
   UU`< #define PRIuLEAST32u
 *  UU`<
n #define PRIuLEAST64lu
 PR 6  UU `< 
 B  UU`<in #define PRIuFAST8u
 N  UU`	<in #define PRIuFAST16u
 Z  UU`
<in #define PRIuFAST32u
 f  UU`< #define PRIuFAST64lu
 r  UU `<~ 
 ~  UU `<in /* scanf macros */
"}   UU`[<#d #define SCNd16hd
   UU`\< #define SCNd32d
   UU`]< #define SCNd64ld
   UU `^<cr 
f   UU`_<rs #define SCNi16hi
 ƪ  UU``<u #define SCNi32i
n Ҫ  UU`a<UU #define SCNi64li
 ު  UU `b< 
 ꪗ  UU`c<8 #define SCNo16ho
   UU`d<FA #define SCNo32o
   UU`e<   #define SCNo64lo
  UU `f<   
   UU`g<   #define SCNu16hu
&  UU`h<   #define SCNu32u
U2  UU`i<PR #define SCNu64lu
>  UU `j<in 
RJ  UU`k< #define SCNx16hx
V  UU`l<
 #define SCNx32x
db  UU`m< #define SCNx64lx
n  UU `n<UU 
z  UU `<FA J/* The following macros define I/O formats for intmax_t and uintmax_t. */
  UU `<FA 
2  UU`<UU 3#define PRIdMAX  ? /* implementation defined */
<~  UU`< 3#define PRIoMAX  ? /* implementation defined */
fin  UU`< 3#define PRIxMAX  ? /* implementation defined */
`]  UU`1<64 3#define PRIuMAX  ? /* implementation defined */
#dª  UU `<
 
Ϊ  UU`<#d 3#define SCNiMAX  ? /* implementation defined */
i64ڪ  UU`<UU 3#define SCNdMAX  ? /* implementation defined */
o
檂  UU`<FA 3#define SCNoMAX  ? /* implementation defined */
 SC  UU`< 3#define SCNxMAX  ? /* implementation defined */
        d          S5m                      66        PR  #d H   H            T6n    5        R H   H              48       	          UU `<#d 
n   UU `< L/* The following macros define I/O formats for intfast_t and uintfast_t. */
   UU `<wi 
m *  UU`<or 4#define PRIdFAST  ? /* implementation defined */
FA 6  UU`< 4#define PRIoFAST  ? /* implementation defined */
*/ B  UU`< 4#define PRIxFAST  ? /* implementation defined */
*/ N  UU`< 5#define PRIuFAST  ? /* implementation defined */
/ Z  UU `o<1 
4 f  UU`< 4#define SCNiFAST  ? /* implementation defined */

 r  UU`< 4#define SCNdFAST  ? /* implementation defined */
*/ ~  UU`< 4#define SCNoFAST  ? /* implementation defined */
*/   UU`< 4#define SCNxFAST  ? /* implementation defined */
*/   UU `< 
   UU `<  
    UU `<de 
e   UU `<   
  ƪ  UU `<   H/*************** conversion functions ******************************** 
   Ҫ  UU `<   ** 
   ު  UU `<   I** The following routines convert from strings to the largest supported 
e ꪗ  UU `<or M** integer types. They parallel the strtol and strtoul functions in Standard
d   UU `<? I** C. Implementations are free to equate them to any existing functions 
  UU `< d ** they may have.
  UU `<in */
xFA  UU `<en 
i&  UU `< 7extern intmax_t strtoimax (const char *, char**, int);
on 2  UU `< 8extern uintmax_t strtoumax (const char *, char**, int);
?>  UU `< d 
nJ  UU `<UU 
V  UU `<FA /* end of inttypes.h */
 d        d          l7m              C        88        en  ti H   H            m8s    7        n H   H              6         
       */          `D Notes
   UU  7
  gThe intent of this paper is to take a minimalist approach to solving the extended integer problem in ns  (  UU  7** bC; one that accommodates, but does not necessarily requires, extensions to the language. Internal  4  UU  7e  crepresentation of a data type (e.g. endianess, bit and byte ordering) is outside the scope of this tio @  UU @7 specification.
I** T  UU  7s  kBesides defining integer data types of 8, 16, 32 and 64 bits, this header also defines integer types of at <in `  UU  7UU jleast 8, 16, 32 and 64 bits. This is mainly for systems whose word size does not fit the 16-bit or 32-bit  l  UU @7ax aword model. Implementations do not have to support all data types defined in this specification.
   UU  7nd gThe various MIN/MAX macros define the limits of each data type. By using the L#ifdef 7directive,      UU  7   ousers can test to see if certain data types are supported in an implementation. For example, if L#ifdef7 ent   UU @7to EINT64_MAX tests false, this header does not define 64-bit integers. 
n   UU `07 TThe __CONCAT__ macro provides a means to construct constants of a particular type. 
an   UU  87 qThe types Lintfast_t7 and Luintfast_t7 define the most efficient signed and unsigned integer type of s ̪  UU  87 ban implementation. They shall be at least 16-bits long. For those systems that have more than one  ت  UU @87r  @most efficient integer types, the largest one should be used.
 1 쪜  UU  97 T fThis paper also presents a method to handle formatted I/O that requires little or no extension to the    UU  97on zlanguage by providing macros for existing formats like Ld,7 Li,7 Lo7 and Lx7. There are no macros   UU  97ea rcorresponding to the Lc7 conversion specifier. Most implementations do not support the Lc7 conversion   UU  97d  sspecifier for anything besides Lint7. Likewise, there are no Lscanf7 macros for the 8-bit datatypes as  no  UU @97te Hmost implementations do not support reading aL char7 of any size.
st0  UU `7a  t        d          
9m              y        ::        an   H   H            
:n    9        s H   H                                UU          `UKme 
t 6         `K a 
e `         `KFo 
h          `rKav Extended Integers For C
UU   UU `Y7fi n        d          
=m                       >>        9   T H   H            
>n    =        l H   H                                en          `V= 
U          `= b 
r (         `= e 
t 8         `=L John W Kwan 
 H         `W=L Hewlett-Packard Company
s  X         `[=ea Cupertino, California
 h         `a=n  +1 408 447 6442
pl x         `= s email : jkwan@cup.hp.com
s          `N=9 
           `s=yt 
g          `D7 Acknowledgement
ar Ԫ  UU  7 m kThe idea of L<inttypes.h>7 grew out of discussions in an industry group originally formed to address har ઩  UU  7st lthe problem of mapping the Lint7 data type in 64-bit machines. Many people participated in that group    쪨  UU  7   `and contributed ideas for such a header, including representatives from Amdahl, Apple, DEC, Hal  a   UU  7 ]Computer, HP, IBM, SGI/Mips, Sun and SPARC International. Additional ideas came from members    UU  7   ^of the Numerical C Extension Group (NCEG) of X3J11 and other members of X3J11. In particular,   UU  7   ZRon Guilmette, Tom MacDonald, Frank Farance, Rex Jaeschke, David Keaton, Jim Thomas, Fred   UU  7 W `Tydeman, Jeffery Zeeb and Jonathan Ziebell reviewed earlier versions of this paper and provided a
(  UU  7n  Zvaluable suggestions. Special thanks to Randy Meyers of Digital Equipment Corporation who 4  UU  7yt cprovided the macros for the formatted I/O specification and who collaborated with me on an earlier ew @  UU @7 i version of this paper. 
alT  UU `7ss r        d          `@m              g        AA        ty   i H   H            aAn    @          H   H                              -ri          `Dch Introduction
u   UU  7es bThe C Standard specifies that the language should support four, signed and unsigned, integer data  (  UU  7on types, Lchar7,L short7, Lint7 and Llong7. However, the Standard places very little requirement on their n  4  UU  7 }size (number of bits) other than that Lint7 and Lshort 7be at least 16-bits and Llong7 be at least as long y @  UU  7b  las Lint7 and not smaller than 32-bits. Traditionally (i.e. under Kernighan and Ritchie), C had always ge L  UU  7an oassumed that Lint7 is the most efficient (i.e. the fastest) integer data type on a machine, and Standard ed  X  UU  7an aC, with its integral promotion rule, tacitly continues this assumption. For 16-bit systems, most  d  UU  7   implementations assign 8, 16, 16 and 32 bits to Lchar7, Lshort7,L int7, and Llong, 7respectively. For 32-  p  UU  7   gbit systems, the common practice is to assign 8, 16, 32 and 32 bits to these types. This difference in age |  UU  Lur cint7 size can create some interesting problems for users who migrate from one system to another 7   UU  7.  bwhich assigns different sizes to integral types, because Standard Cs integral promotion rule can    UU @7 t %produce silent changes unexpectedly.
    UU `d7 !Consider the following example :
   UU `j<as main()
7 ƪ  UU `X<ha { 
bit Ҫ  UU`Z<i. long L = -1;
 ު  UU`]< h unsigned int i = 1;
U ꪚ  UU`m<th if (L > i)
 i   UU`<nt #printf (L greater than i\n) ; 
 on  UU`<an else 
X  UU`<C, &printf (L not greater than i\n) ;
  UU `<as }
.  UU  h7ys nUnder the Standards promotion rule, this program will print L greater than i if size of Lint7 equals :  UU  h7L size of Llong7; but it will print L not greater than i if size of Lint7 is less than size of Llong7. Both results F  UU  h7in `are conforming and correct. Hence the size of the Lint7 data type is significant in any C frR  UU  h7no gimplementation. To complicate matters further, the need for an integer type larger than 32 bits arises ral^  UU  h7n  ffor those 32-bit systems that support large files. Implementors that feel such a need have introduced j  UU @h7 Ba larger integer type commonly referred to as Llong long7 .
~  UU  n7;
 ZThe need for a general solution for the extended integer problem has increased with the   UU  n7 ( jintroduction of 64-bit based systems in the industry. Efforts to find a commonL int7 size on 64-bit   UU @n7 Bsystems have turned out to be much more difficult than expected. 
  UU  x7m  nFirst of all, any change in the size of Lint 7from the current definition will produce incompatibility;   UU  x7re _and no mapping of the base integer types to a particular range of values produces satisfactory  hª  UU  x7ng eperformance in all systems. A data model that is optimal for one architecture is usually sub-optimal oΪ  UU  x7To afor another. After much discussion, the industry remains divided. However, the current system of Uڪ  UU  x7e  rdifferent Lint7 sizes on different platforms makes life difficult for software developers who, as a result, 檇  UU  x7a jmust maintain different source for different machines (usually by using #Lifdef7). This is not very   UU  x7ro edesirable. Providing the means for users to write portable code is a must if Standard C is to become    UU @x7co &the programming language of choice.
  UU  y7em _This specification addresses this very issue. To help software developers write portable code, ny   UU  y7 o ^implementations should provide a set of integer types whose definitions are consistent across *  UU  y7e  `machines and independent of operating systems and other implementation idiosyncrasies. This can pe6  UU  y7ys pbe provided through a new header called L<inttypes.h>7. This header defines, via Ltypedef7, integer  AB  UU  y7on jtypes of various sizes; implementations are free to Ltypedef7 them to integer types, including well N  UU @y7 p (defined extensions, that they support. 
 erd            Left  d           Rightn  sod           hi 	Referencey  y d         T TOCs  d        x IX  ded         m LOFf  d      !    le LOT   d    @     is    d      	    x Firstt   pd    
      c    d         em    d    $     ss    d    &     p     d    (     po    d    *     UU    d    3 	    sh    d    5 
    ge    d      7     ar    d      9        First7e d    =    de   Firstr1 6st                         f                    <  @      
                                  e    $   ty  s. H   .   is    r    programa         program  . ge                       f                    D  P                                   	    ,     Headingl         Body .                        f                       HQ                                   	          1Heading       	H:<n+>.  i Body . ey $                     f                       SA      
                                 !    $   LO   	FirstStep       
S:<n=1>.\t Step .                         f                        P                                   	          Title          Author .                         f                        P                                   	    7     SubTitle         Author .  	                      f                              
                                     	        
CellBullet     Bullet Symbol  \t    .                          f                       HQ                                   	          2Heading       H:<n>.<n+>   Body .                               @                 8         
                             	                         Header/Footer           .                          f                        P                                             Version          Author .   $   $                  f                               
                                       CStep           .                           f                               
                                       Footnote           .                        f                        P                                   	          Heading          Body .  6   6   6              f                              
                                       Extract           .                         f                       HP      
                             	          3Heading       H:<n>.<n>.<n+>   Body .                         f                               
                                      CellBody           .              
           f                       E     
                                       Equation       E:(EQ <n+>)   .                          f                        @      
                                       $          H             f   program          program  .                     f                       T      
                             	         
TableTitle       T:TABLE <n+>.    .  $                     f                       S      
                                      $      Step       	S:<n+>.\t    .  6   $                  f                       S!      
                                      6        SubStep        S:< ><a+>.\t   .                            f                             
                             	         CellHeading            .  $                     f                              
                                      $        Bullet     Dingbats o\t    .                      f                               
                                       TableFootnote            .    $   $                  f                               
                                       CBulletT           .                        f                    D HQ                                  	    f     1Heading       	H:<n+>.   Body .                     f                       F      
                             	    f     Figure   
Table Rule   F:FIGURE <n+>. 
   .                        f                    D HQ                                   	    f     1Heading       	H:<n+>.   Body .                           f                    =  P                                            H  .     Author         Author .                          f                        @     
                                      	pagebreak          1Heading .                          f                    7         
                                       Body           .                        f                               
                                      Body           .  $                                             5                                               $   f         .  1HeadingTOCF           .  H   $                                         6         
                                      H             .  2HeadingTOC            .                          f                    <  @     
                                       $          H   =         program          program  .                           f                    =  P                                           ?        Author         Author .                         f                    7  @     
                                       	pagebreak          1Heading .                           f                    =  P                                             Author         Author .                          f                        P                                            ?        Author         Author .    H                                             5                                               H              . 	FigureLOF            .   H                                             5                                               H              . TableTitleLOT           .                          f                    7         
                                      	  .         .       $  .     Body           .                           f                     7         
                                       CellBody           .                          f                   C        
                             	         CellHeading            .                         f                    K  P                                   	         Title          Author .                    f                    8 T      
                             	    5     
TableTitle       T:TABLE <n+>.    .  l   H                        @                 6         
                                      l   5      .  3HeadingTOC            .     	                        @                 F         	                                       Level2IX           .  $                            @                 F         	                                       Level1IX           .                               @                 F         	                                       SpecIX           .                               @                 F         	                                       
SortSpecIX           .              
                @                 G        	                             	         GroupTitlesIX            .                                 @                 F         	                                       IndexIX            .                               @                  5                                               	ParagraphO           . 5U>                      zV5           F 
                  zV6             
                  k*7              
                  8     	      F 
                  p9     	     Emphasis                      :           Emphasis                  ;co;     		    Bullet Symbol  
                  _<         X                       [3=           @  
               zV?          Callout                         @          Superscript                         A          	Subscript                B     	    Run-In Heading 
                  J3C     	                           D     	       
               OwE   
  
    Dingbats   	                  zVF              	                  G     	                             I             EquationVariables                    J3K     	        
                  _L         Computer  
              3 _M         Computerm}o          m                     n                     s               @     u               @     v              		                Thin            	 Medium              Double       	        ThickX  @     	        	Very Thin 

  	a	q	d                              	a                                      6    s    6         6      Format B                               	b                                   6        6         6      Format A                                  	c                   6        6         6         6        6      Format C
)
9
)  


  			    	i Commente                                                             d        Black                    T!  Whitet  m     d   d        A   Red    d   d             Green      d       d        	  Blue   d                @  Cyan           d          Magenta       d             	   Yellow                   
   Courier      Helvetica-Bold     NewCenturySchlbk-Roman     NewCenturySchlbk-Bold      NewCenturySchlbk-Italic     Helvetica-BoldOblique     Times-Roman      
Times-Bold     Courier-Bold     ZapfDingbats      Courier  Timeso  	Helvetica  NewCenturySchlbk 
 ZapfDingbats 	   Regular    Regular 	 Bold    Regular   Oblique  Italic                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            GiQٵ"EBO67E
~3M`h	,5F͑d'p"a=7.֧厫-7/3 jkd_3UW%RsNv _9=y{F+f +zSNUQSY͂Az׬Gk >6#\*n59Q/b%Ǵς	r     