1ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao/* Test for integer constant types. */ 2ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 3ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao/* Origin: Joseph Myers <jsm28@cam.ac.uk>. */ 4ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao/* { dg-do compile } */ 5ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao/* { dg-options "-std=iso9899:1999 -pedantic-errors" } */ 6ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 7ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#include <limits.h> 8ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 9ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao/* Assertion that constant C is of type T. */ 10ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define ASSERT_CONST_TYPE(C, T) \ 11ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao do { \ 12ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao typedef T type; \ 13ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao typedef type **typepp; \ 14ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao typedef __typeof__((C)) ctype; \ 15ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao typedef ctype **ctypepp; \ 16ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao typepp x = 0; \ 17ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao ctypepp y = 0; \ 18ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao x = y; \ 19ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao y = x; \ 20ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao } while (0) 21ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 22ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao/* (T *) if E is zero, (void *) otherwise. */ 23ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define type_if_not(T, E) __typeof__(0 ? (T *)0 : (void *)(E)) 24ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 25ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao/* (T *) if E is nonzero, (void *) otherwise. */ 26ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define type_if(T, E) type_if_not(T, !(E)) 27ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 28ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao/* Combine pointer types, all but one (void *). */ 29ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define type_comb2(T1, T2) __typeof__(0 ? (T1)0 : (T2)0) 30ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define type_comb3(T1, T2, T3) type_comb2(T1, type_comb2(T2, T3)) 31ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define type_comb4(T1, T2, T3, T4) \ 32ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao type_comb2(T1, type_comb2(T2, type_comb2(T3, T4))) 33ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define type_comb6(T1, T2, T3, T4, T5, T6) \ 34ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao type_comb2(T1, \ 35ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao type_comb2(T2, \ 36ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao type_comb2(T3, \ 37ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao type_comb2(T4, \ 38ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao type_comb2(T5, T6))))) 39ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 40ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao/* (T1 *) if E1, otherwise (T2 *) if E2. */ 41ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define first_of2p(T1, E1, T2, E2) type_comb2(type_if(T1, (E1)), \ 42ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao type_if(T2, (!(E1) && (E2)))) 43ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao/* (T1 *) if E1, otherwise (T2 *) if E2, otherwise (T3 *) if E3. */ 44ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define first_of3p(T1, E1, T2, E2, T3, E3) \ 45ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao type_comb3(type_if(T1, (E1)), \ 46ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao type_if(T2, (!(E1) && (E2))), \ 47ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao type_if(T3, (!(E1) && !(E2) && (E3)))) 48ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao/* (T1 *) if E1, otherwise (T2 *) if E2, otherwise (T3 *) if E3, otherwise 49ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao (T4 *) if E4. */ 50ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define first_of4p(T1, E1, T2, E2, T3, E3, T4, E4) \ 51ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao type_comb4(type_if(T1, (E1)), \ 52ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao type_if(T2, (!(E1) && (E2))), \ 53ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao type_if(T3, (!(E1) && !(E2) && (E3))), \ 54ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao type_if(T4, (!(E1) && !(E2) && !(E3) && (E4)))) 55ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao/* (T1 *) if E1, otherwise (T2 *) if E2, otherwise (T3 *) if E3, otherwise 56ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao (T4 *) if E4, otherwise (T5 *) if E5, otherwise (T6 *) if E6. */ 57ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define first_of6p(T1, E1, T2, E2, T3, E3, T4, E4, T5, E5, T6, E6) \ 58ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao type_comb6(type_if(T1, (E1)), \ 59ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao type_if(T2, (!(E1) && (E2))), \ 60ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao type_if(T3, (!(E1) && !(E2) && (E3))), \ 61ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao type_if(T4, (!(E1) && !(E2) && !(E3) && (E4))), \ 62ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao type_if(T5, (!(E1) && !(E2) && !(E3) && !(E4) && (E5))), \ 63ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao type_if(T6, (!(E1) && !(E2) && !(E3) \ 64ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao && !(E4) && !(E5) && (E6)))) 65ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 66ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao/* Likewise, but return the original type rather than a pointer type. */ 67ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define first_of2(T1, E1, T2, E2) \ 68ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao __typeof__(*((first_of2p(T1, (E1), T2, (E2)))0)) 69ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define first_of3(T1, E1, T2, E2, T3, E3) \ 70ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao __typeof__(*((first_of3p(T1, (E1), T2, (E2), T3, (E3)))0)) 71ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define first_of4(T1, E1, T2, E2, T3, E3, T4, E4) \ 72ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao __typeof__(*((first_of4p(T1, (E1), T2, (E2), T3, (E3), T4, (E4)))0)) 73ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define first_of6(T1, E1, T2, E2, T3, E3, T4, E4, T5, E5, T6, E6) \ 74ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao __typeof__(*((first_of6p(T1, (E1), T2, (E2), T3, (E3), \ 75ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao T4, (E4), T5, (E5), T6, (E6)))0)) 76ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 77ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao/* Types of constants according to the C99 rules. */ 78ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define C99_UNSUF_DEC_TYPE(C) \ 79ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao first_of3(int, (C) <= INT_MAX, \ 80ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao long int, (C) <= LONG_MAX, \ 81ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao long long int, (C) <= LLONG_MAX) 82ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define C99_UNSUF_OCTHEX_TYPE(C) \ 83ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao first_of6(int, (C) <= INT_MAX, \ 84ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao unsigned int, (C) <= UINT_MAX, \ 85ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao long int, (C) <= LONG_MAX, \ 86ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao unsigned long int, (C) <= ULONG_MAX, \ 87ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao long long int, (C) <= LLONG_MAX, \ 88ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao unsigned long long int, (C) <= ULLONG_MAX) 89ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define C99_SUFu_TYPE(C) \ 90ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao first_of3(unsigned int, (C) <= UINT_MAX, \ 91ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao unsigned long int, (C) <= ULONG_MAX, \ 92ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao unsigned long long int, (C) <= ULLONG_MAX) 93ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define C99_SUFl_DEC_TYPE(C) \ 94ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao first_of2(long int, (C) <= LONG_MAX, \ 95ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao long long int, (C) <= LLONG_MAX) 96ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define C99_SUFl_OCTHEX_TYPE(C) \ 97ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao first_of4(long int, (C) <= LONG_MAX, \ 98ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao unsigned long int, (C) <= ULONG_MAX, \ 99ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao long long int, (C) <= LLONG_MAX, \ 100ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao unsigned long long int, (C) <= ULLONG_MAX) 101ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define C99_SUFul_TYPE(C) \ 102ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao first_of2(unsigned long int, (C) <= ULONG_MAX, \ 103ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao unsigned long long int, (C) <= ULLONG_MAX) 104ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define C99_SUFll_OCTHEX_TYPE(C) \ 105ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao first_of2(long long int, (C) <= LLONG_MAX, \ 106ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao unsigned long long int, (C) <= ULLONG_MAX) 107ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 108ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao/* Checks that constants have correct type. */ 109ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define CHECK_UNSUF_DEC_TYPE(C) ASSERT_CONST_TYPE((C), C99_UNSUF_DEC_TYPE((C))) 110ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define CHECK_UNSUF_OCTHEX_TYPE(C) \ 111ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao ASSERT_CONST_TYPE((C), C99_UNSUF_OCTHEX_TYPE((C))) 112ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define CHECK_SUFu_TYPE(C) ASSERT_CONST_TYPE((C), C99_SUFu_TYPE((C))) 113ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define CHECK_SUFl_DEC_TYPE(C) ASSERT_CONST_TYPE((C), C99_SUFl_DEC_TYPE((C))) 114ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define CHECK_SUFl_OCTHEX_TYPE(C) \ 115ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao ASSERT_CONST_TYPE((C), C99_SUFl_OCTHEX_TYPE((C))) 116ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define CHECK_SUFul_TYPE(C) ASSERT_CONST_TYPE((C), C99_SUFul_TYPE((C))) 117ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define CHECK_SUFll_DEC_TYPE(C) ASSERT_CONST_TYPE((C), long long int) 118ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define CHECK_SUFll_OCTHEX_TYPE(C) \ 119ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao ASSERT_CONST_TYPE((C), C99_SUFll_OCTHEX_TYPE((C))) 120ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define CHECK_SUFull_TYPE(C) ASSERT_CONST_TYPE((C), unsigned long long int) 121ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 122ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao/* Check a decimal value, with all suffixes. */ 123ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define CHECK_DEC_CONST(C) \ 124ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_UNSUF_DEC_TYPE(C); \ 125ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_SUFu_TYPE(C##u); \ 126ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_SUFu_TYPE(C##U); \ 127ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_SUFl_DEC_TYPE(C##l); \ 128ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_SUFl_DEC_TYPE(C##L); \ 129ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_SUFul_TYPE(C##ul); \ 130ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_SUFul_TYPE(C##uL); \ 131ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_SUFul_TYPE(C##Ul); \ 132ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_SUFul_TYPE(C##UL); \ 133ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_SUFll_DEC_TYPE(C##ll); \ 134ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_SUFll_DEC_TYPE(C##LL); \ 135ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_SUFull_TYPE(C##ull); \ 136ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_SUFull_TYPE(C##uLL); \ 137ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_SUFull_TYPE(C##Ull); \ 138ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_SUFull_TYPE(C##ULL); 139ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 140ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao/* Check an octal or hexadecimal value, with all suffixes. */ 141ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define CHECK_OCTHEX_CONST(C) \ 142ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_UNSUF_OCTHEX_TYPE(C); \ 143ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_SUFu_TYPE(C##u); \ 144ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_SUFu_TYPE(C##U); \ 145ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_SUFl_OCTHEX_TYPE(C##l); \ 146ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_SUFl_OCTHEX_TYPE(C##L); \ 147ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_SUFul_TYPE(C##ul); \ 148ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_SUFul_TYPE(C##uL); \ 149ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_SUFul_TYPE(C##Ul); \ 150ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_SUFul_TYPE(C##UL); \ 151ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_SUFll_OCTHEX_TYPE(C##ll); \ 152ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_SUFll_OCTHEX_TYPE(C##LL); \ 153ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_SUFull_TYPE(C##ull); \ 154ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_SUFull_TYPE(C##uLL); \ 155ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_SUFull_TYPE(C##Ull); \ 156ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_SUFull_TYPE(C##ULL); 157ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 158ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define CHECK_OCT_CONST(C) CHECK_OCTHEX_CONST(C) 159ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define CHECK_HEX_CONST(C) \ 160ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCTHEX_CONST(0x##C); \ 161ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCTHEX_CONST(0X##C); 162ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 163ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao/* True iff "long long" is at least B bits. This presumes that (B-2)/3 is at 164ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao most 63. */ 165ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define LLONG_AT_LEAST(B) \ 166ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao (LLONG_MAX >> ((B)-2)/3 >> ((B)-2)/3 \ 167ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao >> ((B)-2 - ((B)-2)/3 - ((B)-2)/3)) 168ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 169ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#define LLONG_HAS_BITS(B) (LLONG_AT_LEAST((B)) && !LLONG_AT_LEAST((B) + 1)) 170ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 171ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaovoid 172ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaofoo (void) 173ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao{ 174ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao /* Decimal. */ 175ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao /* Check all 2^n and 2^n - 1 up to 2^71 - 1. */ 176ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(1); 177ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(2); 178ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(3); 179ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(4); 180ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(7); 181ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(8); 182ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(15); 183ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(16); 184ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(31); 185ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(32); 186ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(63); 187ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(64); 188ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(127); 189ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(128); 190ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(255); 191ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(256); 192ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(511); 193ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(512); 194ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(1023); 195ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(1024); 196ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(2047); 197ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(2048); 198ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(4095); 199ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(4096); 200ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(8191); 201ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(8192); 202ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(16383); 203ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(16384); 204ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(32767); 205ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(32768); 206ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(65535); 207ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(65536); 208ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(131071); 209ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(131072); 210ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(262143); 211ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(262144); 212ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(524287); 213ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(524288); 214ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(1048575); 215ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(1048576); 216ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(2097151); 217ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(2097152); 218ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(4194303); 219ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(4194304); 220ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(8388607); 221ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(8388608); 222ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(16777215); 223ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(16777216); 224ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(33554431); 225ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(33554432); 226ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(67108863); 227ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(67108864); 228ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(134217727); 229ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(134217728); 230ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(268435455); 231ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(268435456); 232ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(536870911); 233ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(536870912); 234ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(1073741823); 235ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(1073741824); 236ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(2147483647); 237ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(2147483648); 238ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(4294967295); 239ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(4294967296); 240ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(8589934591); 241ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(8589934592); 242ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(17179869183); 243ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(17179869184); 244ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(34359738367); 245ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(34359738368); 246ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(68719476735); 247ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(68719476736); 248ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(137438953471); 249ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(137438953472); 250ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(274877906943); 251ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(274877906944); 252ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(549755813887); 253ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(549755813888); 254ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(1099511627775); 255ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(1099511627776); 256ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(2199023255551); 257ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(2199023255552); 258ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(4398046511103); 259ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(4398046511104); 260ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(8796093022207); 261ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(8796093022208); 262ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(17592186044415); 263ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(17592186044416); 264ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(35184372088831); 265ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(35184372088832); 266ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(70368744177663); 267ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(70368744177664); 268ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(140737488355327); 269ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(140737488355328); 270ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(281474976710655); 271ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(281474976710656); 272ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(562949953421311); 273ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(562949953421312); 274ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(1125899906842623); 275ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(1125899906842624); 276ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(2251799813685247); 277ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(2251799813685248); 278ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(4503599627370495); 279ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(4503599627370496); 280ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(9007199254740991); 281ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(9007199254740992); 282ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(18014398509481983); 283ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(18014398509481984); 284ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(36028797018963967); 285ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(36028797018963968); 286ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(72057594037927935); 287ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(72057594037927936); 288ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(144115188075855871); 289ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(144115188075855872); 290ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(288230376151711743); 291ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(288230376151711744); 292ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(576460752303423487); 293ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(576460752303423488); 294ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(1152921504606846975); 295ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(1152921504606846976); 296ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(2305843009213693951); 297ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(2305843009213693952); 298ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(4611686018427387903); 299ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(4611686018427387904); 300ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(9223372036854775807); 301ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#if LLONG_AT_LEAST(65) 302ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(9223372036854775808); 303ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(18446744073709551615); 304ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#endif 305ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#if LLONG_AT_LEAST(66) 306ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(18446744073709551616); 307ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(36893488147419103231); 308ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#endif 309ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#if LLONG_AT_LEAST(67) 310ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(36893488147419103232); 311ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(73786976294838206463); 312ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#endif 313ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#if LLONG_AT_LEAST(68) 314ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(73786976294838206464); 315ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(147573952589676412927); 316ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#endif 317ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#if LLONG_AT_LEAST(69) 318ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(147573952589676412928); 319ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(295147905179352825855); 320ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#endif 321ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#if LLONG_AT_LEAST(70) 322ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(295147905179352825856); 323ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(590295810358705651711); 324ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#endif 325ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#if LLONG_AT_LEAST(71) 326ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(590295810358705651712); 327ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(1180591620717411303423); 328ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#endif 329ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#if LLONG_AT_LEAST(72) 330ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(1180591620717411303424); 331ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_DEC_CONST(2361183241434822606847); 332ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#endif 333ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao /* Octal and hexadecimal. */ 334ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao /* Check all 2^n and 2^n - 1 up to 2^72 - 1. */ 335ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0); 336ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(0); 337ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(01); 338ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(1); 339ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(02); 340ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(2); 341ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(03); 342ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(3); 343ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(04); 344ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(4); 345ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(07); 346ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(7); 347ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(010); 348ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(8); 349ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(017); 350ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(f); 351ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(020); 352ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(10); 353ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(037); 354ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(1f); 355ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(040); 356ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(20); 357ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(077); 358ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(3f); 359ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0100); 360ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(40); 361ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0177); 362ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(7f); 363ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0200); 364ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(80); 365ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0377); 366ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(ff); 367ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0400); 368ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(100); 369ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0777); 370ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(1ff); 371ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(01000); 372ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(200); 373ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(01777); 374ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(3ff); 375ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(02000); 376ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(400); 377ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(03777); 378ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(7ff); 379ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(04000); 380ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(800); 381ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(07777); 382ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(fff); 383ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(010000); 384ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(1000); 385ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(017777); 386ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(1fff); 387ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(020000); 388ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(2000); 389ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(037777); 390ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(3fff); 391ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(040000); 392ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(4000); 393ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(077777); 394ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(7fff); 395ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0100000); 396ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(8000); 397ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0177777); 398ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(ffff); 399ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0200000); 400ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(10000); 401ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0377777); 402ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(1ffff); 403ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0400000); 404ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(20000); 405ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0777777); 406ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(3ffff); 407ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(01000000); 408ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(40000); 409ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(01777777); 410ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(7ffff); 411ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(02000000); 412ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(80000); 413ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(03777777); 414ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(fffff); 415ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(04000000); 416ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(100000); 417ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(07777777); 418ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(1fffff); 419ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(010000000); 420ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(200000); 421ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(017777777); 422ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(3fffff); 423ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(020000000); 424ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(400000); 425ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(037777777); 426ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(7fffff); 427ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(040000000); 428ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(800000); 429ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(077777777); 430ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(ffffff); 431ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0100000000); 432ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(1000000); 433ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0177777777); 434ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(1ffffff); 435ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0200000000); 436ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(2000000); 437ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0377777777); 438ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(3ffffff); 439ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0400000000); 440ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(4000000); 441ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0777777777); 442ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(7ffffff); 443ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(01000000000); 444ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(8000000); 445ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(01777777777); 446ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(fffffff); 447ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(02000000000); 448ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(10000000); 449ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(03777777777); 450ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(1fffffff); 451ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(04000000000); 452ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(20000000); 453ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(07777777777); 454ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(3fffffff); 455ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(010000000000); 456ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(40000000); 457ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(017777777777); 458ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(7fffffff); 459ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(020000000000); 460ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(80000000); 461ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(037777777777); 462ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(ffffffff); 463ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(040000000000); 464ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(100000000); 465ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(077777777777); 466ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(1ffffffff); 467ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0100000000000); 468ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(200000000); 469ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0177777777777); 470ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(3ffffffff); 471ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0200000000000); 472ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(400000000); 473ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0377777777777); 474ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(7ffffffff); 475ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0400000000000); 476ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(800000000); 477ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0777777777777); 478ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(fffffffff); 479ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(01000000000000); 480ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(1000000000); 481ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(01777777777777); 482ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(1fffffffff); 483ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(02000000000000); 484ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(2000000000); 485ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(03777777777777); 486ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(3fffffffff); 487ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(04000000000000); 488ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(4000000000); 489ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(07777777777777); 490ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(7fffffffff); 491ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(010000000000000); 492ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(8000000000); 493ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(017777777777777); 494ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(ffffffffff); 495ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(020000000000000); 496ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(10000000000); 497ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(037777777777777); 498ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(1ffffffffff); 499ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(040000000000000); 500ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(20000000000); 501ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(077777777777777); 502ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(3ffffffffff); 503ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0100000000000000); 504ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(40000000000); 505ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0177777777777777); 506ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(7ffffffffff); 507ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0200000000000000); 508ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(80000000000); 509ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0377777777777777); 510ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(fffffffffff); 511ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0400000000000000); 512ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(100000000000); 513ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0777777777777777); 514ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(1fffffffffff); 515ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(01000000000000000); 516ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(200000000000); 517ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(01777777777777777); 518ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(3fffffffffff); 519ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(02000000000000000); 520ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(400000000000); 521ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(03777777777777777); 522ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(7fffffffffff); 523ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(04000000000000000); 524ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(800000000000); 525ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(07777777777777777); 526ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(ffffffffffff); 527ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(010000000000000000); 528ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(1000000000000); 529ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(017777777777777777); 530ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(1ffffffffffff); 531ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(020000000000000000); 532ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(2000000000000); 533ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(037777777777777777); 534ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(3ffffffffffff); 535ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(040000000000000000); 536ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(4000000000000); 537ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(077777777777777777); 538ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(7ffffffffffff); 539ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0100000000000000000); 540ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(8000000000000); 541ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0177777777777777777); 542ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(fffffffffffff); 543ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0200000000000000000); 544ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(10000000000000); 545ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0377777777777777777); 546ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(1fffffffffffff); 547ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0400000000000000000); 548ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(20000000000000); 549ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0777777777777777777); 550ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(3fffffffffffff); 551ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(01000000000000000000); 552ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(40000000000000); 553ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(01777777777777777777); 554ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(7fffffffffffff); 555ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(02000000000000000000); 556ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(80000000000000); 557ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(03777777777777777777); 558ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(ffffffffffffff); 559ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(04000000000000000000); 560ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(100000000000000); 561ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(07777777777777777777); 562ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(1ffffffffffffff); 563ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(010000000000000000000); 564ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(200000000000000); 565ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(017777777777777777777); 566ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(3ffffffffffffff); 567ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(020000000000000000000); 568ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(400000000000000); 569ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(037777777777777777777); 570ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(7ffffffffffffff); 571ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(040000000000000000000); 572ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(800000000000000); 573ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(077777777777777777777); 574ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(fffffffffffffff); 575ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0100000000000000000000); 576ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(1000000000000000); 577ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0177777777777777777777); 578ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(1fffffffffffffff); 579ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0200000000000000000000); 580ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(2000000000000000); 581ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0377777777777777777777); 582ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(3fffffffffffffff); 583ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0400000000000000000000); 584ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(4000000000000000); 585ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0777777777777777777777); 586ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(7fffffffffffffff); 587ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(01000000000000000000000); 588ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(8000000000000000); 589ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(01777777777777777777777); 590ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(ffffffffffffffff); 591ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#if LLONG_AT_LEAST(65) 592ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(02000000000000000000000); 593ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(10000000000000000); 594ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(03777777777777777777777); 595ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(1ffffffffffffffff); 596ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#endif 597ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#if LLONG_AT_LEAST(66) 598ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(04000000000000000000000); 599ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(20000000000000000); 600ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(07777777777777777777777); 601ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(3ffffffffffffffff); 602ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#endif 603ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#if LLONG_AT_LEAST(67) 604ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(010000000000000000000000); 605ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(40000000000000000); 606ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(017777777777777777777777); 607ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(7ffffffffffffffff); 608ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#endif 609ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#if LLONG_AT_LEAST(68) 610ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(020000000000000000000000); 611ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(80000000000000000); 612ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(037777777777777777777777); 613ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(fffffffffffffffff); 614ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#endif 615ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#if LLONG_AT_LEAST(69) 616ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(040000000000000000000000); 617ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(100000000000000000); 618ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(077777777777777777777777); 619ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(1fffffffffffffffff); 620ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#endif 621ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#if LLONG_AT_LEAST(70) 622ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0100000000000000000000000); 623ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(200000000000000000); 624ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0177777777777777777777777); 625ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(3fffffffffffffffff); 626ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#endif 627ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#if LLONG_AT_LEAST(71) 628ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0200000000000000000000000); 629ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(400000000000000000); 630ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0377777777777777777777777); 631ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(7fffffffffffffffff); 632ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#endif 633ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#if LLONG_AT_LEAST(72) 634ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0400000000000000000000000); 635ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(800000000000000000); 636ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_OCT_CONST(0777777777777777777777777); 637ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao CHECK_HEX_CONST(ffffffffffffffffff); 638ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#endif 639ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao} 640