/*=============================================================================
    Copyright (c) 2011 Jan Frederick Eick

    Distributed under the Boost Software License, Version 1.0. (See accompanying
    file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
=============================================================================*/

#if !defined(BOOST_SPIRIT_TEST_QI_UINT4_HPP)
#define BOOST_SPIRIT_TEST_QI_UINT4_HPP

///////////////////////////////////////////////////////////////////////////////
//
//  *** BEWARE PLATFORM DEPENDENT!!! ***
//  *** The following assumes 32 bit integers and 64 bit long longs.
//  *** Modify these constant strings when appropriate.
//
///////////////////////////////////////////////////////////////////////////////

char const* max_unsigned_base3 =                "102002022201221111210";
char const* unsigned_overflow_base3 =           "102002022201221111211";
char const* digit_overflow_base3 =              "1020020222012211112100";

char const* max_unsigned_base4 =                "3333333333333333";
char const* digit_overflow_base4 =              "33333333333333330";

char const* max_unsigned_base5 =                "32244002423140";
char const* unsigned_overflow_base5 =           "32244002423141";
char const* digit_overflow_base5 =              "322440024231400";

char const* max_unsigned_base6 =                "1550104015503";
char const* unsigned_overflow_base6 =           "1550104015504";
char const* digit_overflow_base6 =              "15501040155030";

char const* max_unsigned_base7 =                "211301422353";
char const* unsigned_overflow_base7 =           "211301422354";
char const* digit_overflow_base7 =              "2113014223530";

char const* max_unsigned_base9 =                "12068657453";
char const* unsigned_overflow_base9 =           "12068657454";
char const* digit_overflow_base9 =              "120686574530";

char const* max_unsigned_base11 =               "1904440553";
char const* unsigned_overflow_base11 =          "1904440554";
char const* digit_overflow_base11 =             "19044405530";

char const* max_unsigned_base12 =               "9BA461593";
char const* unsigned_overflow_base12 =          "9BA461594";
char const* digit_overflow_base12 =             "9BA4615930";

char const* max_unsigned_base13 =               "535A79888";
char const* unsigned_overflow_base13 =          "535A79889";
char const* digit_overflow_base13 =             "535A798880";

char const* max_unsigned_base14 =               "2CA5B7463";
char const* unsigned_overflow_base14 =          "2CA5B7464";
char const* digit_overflow_base14 =             "2CA5B74630";

char const* max_unsigned_base15 =               "1A20DCD80";
char const* unsigned_overflow_base15 =          "1A20DCD81";
char const* digit_overflow_base15 =             "1A20DCD800";

char const* max_unsigned_base17 =               "A7FFDA90";
char const* unsigned_overflow_base17 =          "A7FFDA91";
char const* digit_overflow_base17 =             "A7FFDA900";

char const* max_unsigned_base18 =               "704HE7G3";
char const* unsigned_overflow_base18 =          "704HE7G4";
char const* digit_overflow_base18 =             "704HE7G30";

char const* max_unsigned_base19 =               "4F5AFF65";
char const* unsigned_overflow_base19 =          "4F5AFF66";
char const* digit_overflow_base19 =             "4F5AFF650";

char const* max_unsigned_base20 =               "3723AI4F";
char const* unsigned_overflow_base20 =          "3723AI4G";
char const* digit_overflow_base20 =             "3723AI4G0";

char const* max_unsigned_base21 =               "281D55I3";
char const* unsigned_overflow_base21 =          "281D55I4";
char const* digit_overflow_base21 =             "281D55I30";

char const* max_unsigned_base22 =               "1FJ8B183";
char const* unsigned_overflow_base22 =          "1FJ8B184";
char const* digit_overflow_base22 =             "1FJ8B1830";

char const* max_unsigned_base23 =               "1606K7IB";
char const* unsigned_overflow_base23 =          "1606K7IC";
char const* digit_overflow_base23 =             "1606K7IB0";

char const* max_unsigned_base24 =               "MB994AF";
char const* unsigned_overflow_base24 =          "MB994AG";
char const* digit_overflow_base24 =             "MB994AF0";

char const* max_unsigned_base25 =               "HEK2MGK";
char const* unsigned_overflow_base25 =          "HEK2MGL";
char const* digit_overflow_base25 =             "HEK2MGK0";

char const* max_unsigned_base26 =               "DNCHBNL";
char const* unsigned_overflow_base26 =          "DNCHBNM";
char const* digit_overflow_base26 =             "DNCHBNL0";

char const* max_unsigned_base27 =               "B28JPDL";
char const* unsigned_overflow_base27 =          "B28JPDM";
char const* digit_overflow_base27 =             "B28JPDL0";

char const* max_unsigned_base28 =               "8PFGIH3";
char const* unsigned_overflow_base28 =          "8PFGIH4";
char const* digit_overflow_base28 =             "8PFGIH30";

char const* max_unsigned_base29 =               "76BEIGF";
char const* unsigned_overflow_base29 =          "76BEIGH";
char const* digit_overflow_base29 =             "76BEIGF0";

char const* max_unsigned_base30 =               "5QMCPQF";
char const* unsigned_overflow_base30 =          "5QMCPQG";
char const* digit_overflow_base30 =             "5QMCPQF0";

char const* max_unsigned_base31 =               "4Q0JTO3";
char const* unsigned_overflow_base31 =          "4Q0JTO4";
char const* digit_overflow_base31 =             "4Q0JTO30";

char const* max_unsigned_base32 =               "3VVVVVV";
char const* unsigned_overflow_base32 =          "3VVVVVW";
char const* digit_overflow_base32 =             "3VVVVVV0";

char const* max_unsigned_base33 =               "3AOKQ93";
char const* unsigned_overflow_base33 =          "3AOKQ94";
char const* digit_overflow_base33 =             "3AOKQ930";

char const* max_unsigned_base34 =               "2QHXJLH";
char const* unsigned_overflow_base34 =          "2QHXJLI";
char const* digit_overflow_base34 =             "2QHXJLH0";

char const* max_unsigned_base35 =               "2BR45QA";
char const* unsigned_overflow_base35 =          "2BR45QB";
char const* digit_overflow_base35 =             "2BR45QA0";

char const* max_unsigned_base36 =               "1Z141Z3";
char const* unsigned_overflow_base36 =          "1Z141Z4";
char const* digit_overflow_base36 =             "1Z141Z30";

#endif