_limits.h (ea9ea04c0d2e1f4a409f44a686642cdf77d15bc6) _limits.h (49545b3891a707a543faab07822d56d86c4ee73c)
1/*
2 * Copyright (c) 1988, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 76 unchanged lines hidden (view full) ---

85
86#define OFF_MAX LONG_MAX /* max value for a off_t */
87#define OFF_MIN LONG_MIN /* min value for a off_t */
88
89/* Quads and longs are the same on the alpha. Ensure they stay in sync. */
90#define UQUAD_MAX (ULONG_MAX) /* max value for a uquad_t */
91#define QUAD_MAX (LONG_MAX) /* max value for a quad_t */
92#define QUAD_MIN (LONG_MIN) /* min value for a quad_t */
1/*
2 * Copyright (c) 1988, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 76 unchanged lines hidden (view full) ---

85
86#define OFF_MAX LONG_MAX /* max value for a off_t */
87#define OFF_MIN LONG_MIN /* min value for a off_t */
88
89/* Quads and longs are the same on the alpha. Ensure they stay in sync. */
90#define UQUAD_MAX (ULONG_MAX) /* max value for a uquad_t */
91#define QUAD_MAX (LONG_MAX) /* max value for a quad_t */
92#define QUAD_MIN (LONG_MIN) /* min value for a quad_t */
93
94#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS)
95/*
96 * ISO/IEC 9899:1999
97 * 7.18.2.1 Limits of exact-width integer types
98 */
99/* Minimum values of exact-width signed integer types. */
100#define INT8_MIN (-0x7f-1)
101#define INT16_MIN (-0x7fff-1)
102#define INT32_MIN (-0x7fffffff-1)
103#define INT64_MIN (-0x7fffffffffffffffL-1)
104
105/* Maximum values of exact-width signed integer types. */
106#define INT8_MAX 0x7f
107#define INT16_MAX 0x7fff
108#define INT32_MAX 0x7fffffff
109#define INT64_MAX 0x7fffffffffffffffL
110
111/* Maximum values of exact-width unsigned integer types. */
112#define UINT8_MAX 0xff
113#define UINT16_MAX 0xffff
114#define UINT32_MAX 0xffffffffU
115#define UINT64_MAX 0xffffffffffffffffUL
116
117/*
118 * ISO/IEC 9899:1999
119 * 7.18.2.2 Limits of minimum-width integer types
120 */
121/* Minimum values of minimum-width signed integer types. */
122#define INT_LEAST8_MIN SCHAR_MIN
123#define INT_LEAST16_MIN SHRT_MIN
124#define INT_LEAST32_MIN INT_MIN
125#define INT_LEAST64_MIN LONG_MIN
126
127/* Maximum values of minimum-width signed integer types. */
128#define INT_LEAST8_MAX SCHAR_MAX
129#define INT_LEAST16_MAX SHRT_MAX
130#define INT_LEAST32_MAX INT_MAX
131#define INT_LEAST64_MAX LONG_MAX
132
133/* Maximum values of minimum-width unsigned integer types. */
134#define UINT_LEAST8_MAX UCHAR_MAX
135#define UINT_LEAST16_MAX USHRT_MAX
136#define UINT_LEAST32_MAX UINT_MAX
137#define UINT_LEAST64_MAX ULONG_MAX
138
139/*
140 * ISO/IEC 9899:1999
141 * 7.18.2.3 Limits of fastest minimum-width integer types
142 */
143/* Minimum values of fastest minimum-width signed integer types. */
144#define INT_FAST8_MIN INT_MIN
145#define INT_FAST16_MIN INT_MIN
146#define INT_FAST32_MIN INT_MIN
147#define INT_FAST64_MIN LONG_MIN
148
149/* Maximum values of fastest minimum-width signed integer types. */
150#define INT_FAST8_MAX INT_MAX
151#define INT_FAST16_MAX INT_MAX
152#define INT_FAST32_MAX INT_MAX
153#define INT_FAST64_MAX LONG_MAX
154
155/* Maximum values of fastest minimum-width unsigned integer types. */
156#define UINT_FAST8_MAX UINT_MAX
157#define UINT_FAST16_MAX UINT_MAX
158#define UINT_FAST32_MAX UINT_MAX
159#define UINT_FAST64_MAX ULONG_MAX
160
161/*
162 * ISO/IEC 9899:1999
163 * 7.18.2.4 Limits of integer types capable of holding object pointers
164 */
165#define INTPTR_MIN LONG_MIN
166#define INTPTR_MAX LONG_MAX
167#define UINTPTR_MAX ULONG_MAX
168
169/*
170 * ISO/IEC 9899:1999
171 * 7.18.2.5 Limits of greatest-width integer types
172 */
173#define INTMAX_MIN LONG_MIN
174#define INTMAX_MAX LONG_MAX
175#define UINTMAX_MAX ULONG_MAX
176
177/*
178 * ISO/IEC 9899:1999
179 * 7.18.3 Limits of other integer types
180 */
181/* Limits of ptrdiff_t. */
182#define PTRDIFF_MIN LONG_MIN
183#define PTRDIFF_MAX LONG_MAX
184
185/* Limits of sig_atomic_t. */
186#define SIG_ATOMIC_MIN INT_MIN
187#define SIG_ATOMIC_MAX INT_MAX
188
189/* Limit of size_t. */
190#define SIZE_MAX ULONG_MAX
191
192#ifndef WCHAR_MIN /* Also possibly defined in <wchar.h> */
193/* Limits of wchar_t. */
194#define WCHAR_MIN INT_MIN
195#define WCHAR_MAX INT_MAX
196
197/* Limits of wint_t. */
198#define WINT_MIN INT_MIN
199#define WINT_MAX INT_MAX
200#endif
201#endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */
202#endif /* !_POSIX_SOURCE && !_XOPEN_SOURCE */
203#endif /* !_ANSI_SOURCE */
204
205#if (!defined(_ANSI_SOURCE)&&!defined(_POSIX_SOURCE)) || defined(_XOPEN_SOURCE)
206#define LONG_BIT 64
207#define WORD_BIT 32
208
209#define DBL_DIG 15
210#define DBL_MAX 1.7976931348623157E+308
211#define DBL_MIN 2.2250738585072014E-308
212
213#define FLT_DIG 6
214#define FLT_MAX 3.40282347E+38F
215#define FLT_MIN 1.17549435E-38F
216#endif
217
218#endif /* !_MACHINE_LIMITS_H_ */
93#endif /* !_POSIX_SOURCE && !_XOPEN_SOURCE */
94#endif /* !_ANSI_SOURCE */
95
96#if (!defined(_ANSI_SOURCE)&&!defined(_POSIX_SOURCE)) || defined(_XOPEN_SOURCE)
97#define LONG_BIT 64
98#define WORD_BIT 32
99
100#define DBL_DIG 15
101#define DBL_MAX 1.7976931348623157E+308
102#define DBL_MIN 2.2250738585072014E-308
103
104#define FLT_DIG 6
105#define FLT_MAX 3.40282347E+38F
106#define FLT_MIN 1.17549435E-38F
107#endif
108
109#endif /* !_MACHINE_LIMITS_H_ */