| OLD | NEW |
| 1 /* | 1 /* |
| 2 * mpi.h | 2 * mpi.h |
| 3 * | 3 * |
| 4 * Arbitrary precision integer arithmetic library | 4 * Arbitrary precision integer arithmetic library |
| 5 * | 5 * |
| 6 * This Source Code Form is subject to the terms of the Mozilla Public | 6 * This Source Code Form is subject to the terms of the Mozilla Public |
| 7 * License, v. 2.0. If a copy of the MPL was not distributed with this | 7 * License, v. 2.0. If a copy of the MPL was not distributed with this |
| 8 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ | 8 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
| 9 | 9 |
| 10 #ifndef _H_MPI_ | 10 #ifndef _H_MPI_ |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 49 #define MP_32BIT_MAX 4294967295U | 49 #define MP_32BIT_MAX 4294967295U |
| 50 | 50 |
| 51 #if !defined(ULONG_MAX) | 51 #if !defined(ULONG_MAX) |
| 52 #error "ULONG_MAX not defined" | 52 #error "ULONG_MAX not defined" |
| 53 #elif !defined(UINT_MAX) | 53 #elif !defined(UINT_MAX) |
| 54 #error "UINT_MAX not defined" | 54 #error "UINT_MAX not defined" |
| 55 #elif !defined(USHRT_MAX) | 55 #elif !defined(USHRT_MAX) |
| 56 #error "USHRT_MAX not defined" | 56 #error "USHRT_MAX not defined" |
| 57 #endif | 57 #endif |
| 58 | 58 |
| 59 #if defined(ULONG_LONG_MAX)» » » /* GCC, HPUX */ | 59 #if defined(ULLONG_MAX)»» » » /* C99, Solaris */ |
| 60 #define MP_ULONG_LONG_MAX ULONG_LONG_MAX | |
| 61 #elif defined(ULLONG_MAX)» » » /* Solaris */ | |
| 62 #define MP_ULONG_LONG_MAX ULLONG_MAX | 60 #define MP_ULONG_LONG_MAX ULLONG_MAX |
| 63 /* MP_ULONG_LONG_MAX was defined to be ULLONG_MAX */ | 61 /* MP_ULONG_LONG_MAX was defined to be ULLONG_MAX */ |
| 62 #elif defined(ULONG_LONG_MAX) /* HPUX */ |
| 63 #define MP_ULONG_LONG_MAX ULONG_LONG_MAX |
| 64 #elif defined(ULONGLONG_MAX) /* IRIX, AIX */ | 64 #elif defined(ULONGLONG_MAX) /* IRIX, AIX */ |
| 65 #define MP_ULONG_LONG_MAX ULONGLONG_MAX | 65 #define MP_ULONG_LONG_MAX ULONGLONG_MAX |
| 66 #endif | 66 #endif |
| 67 | 67 |
| 68 /* We only use unsigned long for mp_digit iff long is more than 32 bits. */ | 68 /* We only use unsigned long for mp_digit iff long is more than 32 bits. */ |
| 69 #if !defined(MP_USE_UINT_DIGIT) && ULONG_MAX > MP_32BIT_MAX | 69 #if !defined(MP_USE_UINT_DIGIT) && ULONG_MAX > MP_32BIT_MAX |
| 70 typedef unsigned long mp_digit; | 70 typedef unsigned long mp_digit; |
| 71 #define MP_DIGIT_MAX ULONG_MAX | 71 #define MP_DIGIT_MAX ULONG_MAX |
| 72 #define MP_DIGIT_FMT "%016lX" /* printf() format for 1 digit */ | 72 #define MP_DIGIT_FMT "%016lX" /* printf() format for 1 digit */ |
| 73 #define MP_HALF_DIGIT_MAX UINT_MAX | 73 #define MP_HALF_DIGIT_MAX UINT_MAX |
| (...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 291 #define ARGCHK(X,Y) {if(!(X)){return (Y);}} | 291 #define ARGCHK(X,Y) {if(!(X)){return (Y);}} |
| 292 #elif MP_ARGCHK == 2 | 292 #elif MP_ARGCHK == 2 |
| 293 #include <assert.h> | 293 #include <assert.h> |
| 294 #define ARGCHK(X,Y) assert(X) | 294 #define ARGCHK(X,Y) assert(X) |
| 295 #else | 295 #else |
| 296 #define ARGCHK(X,Y) /* */ | 296 #define ARGCHK(X,Y) /* */ |
| 297 #endif | 297 #endif |
| 298 #endif /* defined MP_API_COMPATIBLE */ | 298 #endif /* defined MP_API_COMPATIBLE */ |
| 299 | 299 |
| 300 #endif /* end _H_MPI_ */ | 300 #endif /* end _H_MPI_ */ |
| OLD | NEW |