#include "fast_float/fast_float.h"

#include <cctype>
#include <cstdio>
#include <iostream>
#include <limits>
#include <stdexcept>
#include <string>
#include <system_error>
#include <vector>

#if defined(__CYGWIN__) || defined(__MINGW32__) || defined(__MINGW64__) ||     \
    defined(sun) || defined(__sun)
// Anything at all that is related to cygwin, msys and so forth will
// always use this fallback because we cannot rely on it behaving as normal
// gcc.
#include <locale>
#include <sstream>
// workaround for CYGWIN
double cygwin_strtod_l(char const *start, char **end) {
  double d;
  std::stringstream ss;
  ss.imbue(std::locale::classic());
  ss << start;
  ss >> d;
  if (ss.fail()) {
    *end = nullptr;
  }
  if (ss.eof()) {
    ss.clear();
  }
  auto nread = ss.tellg();
  *end = const_cast<char *>(start) + nread;
  return d;
}
float cygwin_strtof_l(char const *start, char **end) {
  float d;
  std::stringstream ss;
  ss.imbue(std::locale::classic());
  ss << start;
  ss >> d;
  if (ss.fail()) {
    *end = nullptr;
  }
  if (ss.eof()) {
    ss.clear();
  }
  auto nread = ss.tellg();
  *end = const_cast<char *>(start) + nread;
  return d;
}
#endif

inline void Assert(bool Assertion) {
#if defined(__CYGWIN__) || defined(__MINGW32__) || defined(__MINGW64__) ||     \
    defined(sun) || defined(__sun)
  if (!Assertion) {
    std::cerr << "Omitting hard failure on msys/cygwin/sun systems.";
  }
#else
  if (!Assertion) {
    throw std::runtime_error("bug");
  }
#endif
}

template <typename T> std::string to_string(T d) {
  std::string s(64, '\0');
  auto written = std::snprintf(&s[0], s.size(), "%.*e",
                               std::numeric_limits<T>::max_digits10 - 1, d);
  s.resize(size_t(written));
  return s;
}

template <typename T> bool test() {
  std::string input =
      "0.1 1e1000 100000 3.14159265359  -1e-500 001    1e01  1e0000001  -inf";
  std::vector<T> answers = {T(0.1),
                            std::numeric_limits<T>::infinity(),
                            100000,
                            T(3.14159265359),
                            -0.0,
                            1,
                            10,
                            10,
                            -std::numeric_limits<T>::infinity()};
  std::vector<std::errc> expected_ec = {std::errc(),
                                        std::errc::result_out_of_range,
                                        std::errc(),
                                        std::errc(),
                                        std::errc::result_out_of_range,
                                        std::errc(),
                                        std::errc(),
                                        std::errc(),
                                        std::errc()};
  char const *begin = input.data();
  char const *end = input.data() + input.size();
  for (size_t i = 0; i < answers.size(); i++) {
    T result_value;
    while ((begin < end) && (std::isspace(*begin))) {
      begin++;
    }
    auto result = fast_float::from_chars(begin, end, result_value);
    if (result.ec != expected_ec[i]) {
      printf("parsing %.*s\n", int(end - begin), begin);
      std::cerr << " I could not parse " << std::endl;
      return false;
    }
    if (result_value != answers[i]) {
      printf("parsing %.*s\n", int(end - begin), begin);
      std::cerr << " Mismatch " << std::endl;
      return false;
    }
    begin = result.ptr;
  }
  if (begin != end) {
    std::cerr << " bad ending " << std::endl;
    return false;
  }
  return true;
}

template <typename T> void strtod_from_string(std::string const &st, T &d);

template <> void strtod_from_string(std::string const &st, double &d) {
  char *pr = (char *)st.c_str();
#if defined(__CYGWIN__) || defined(__MINGW32__) || defined(__MINGW64__) ||     \
    defined(sun) || defined(__sun)
  d = cygwin_strtod_l(pr, &pr);
#elif defined(_WIN32)
  static _locale_t c_locale = _create_locale(LC_ALL, "C");
  d = _strtod_l(st.c_str(), &pr, c_locale);
#else
  static locale_t c_locale = newlocale(LC_ALL_MASK, "C", NULL);
  d = strtod_l(st.c_str(), &pr, c_locale);
#endif
  if (pr == st.c_str()) {
    throw std::runtime_error("bug in strtod_from_string");
  }
}

template <> void strtod_from_string(std::string const &st, float &d) {
  char *pr = (char *)st.c_str();
#if defined(__CYGWIN__) || defined(__MINGW32__) || defined(__MINGW64__) ||     \
    defined(sun) || defined(__sun)
  d = cygwin_strtof_l(st.c_str(), &pr);
#elif defined(_WIN32)
  static _locale_t c_locale = _create_locale(LC_ALL, "C");
  d = _strtof_l(st.c_str(), &pr, c_locale);
#else
  static locale_t c_locale = newlocale(LC_ALL_MASK, "C", NULL);
  d = strtof_l(st.c_str(), &pr, c_locale);
#endif
  if (pr == st.c_str()) {
    throw std::runtime_error("bug in strtod_from_string");
  }
}

template <typename T> bool partow_test() {
  // credit:
  // https://github.com/ArashPartow/strtk/blob/master/strtk_tokenizer_cmp.cpp#L568
  // MIT license
  std::string const strint_list[] = {
      "9007199254740993",
      "9007199254740994",
      "9007199254740995",
      "0",
      "1",
      "2",
      "3",
      "4",
      "5",
      "6",
      "7",
      "8",
      "9",
      "917049",
      "4931205",
      "6768064",
      "6884243",
      "5647132",
      "7371203",
      "-8629878",
      "4941840",
      "4543268",
      "1075600",
      "290",
      "823",
      "111",
      "715",
      "-866",
      "367",
      "666",
      "-706",
      "850",
      "-161",
      "9922547",
      "6960207",
      "1883152",
      "2300759",
      "-279294",
      "4187292",
      "3699841",
      "8386395",
      "-1441129",
      "-887892",
      "-635422",
      "9742573",
      "2326186",
      "-5903851",
      "5648486",
      "3057647",
      "2980079",
      "2957468",
      "7929158",
      "1925615",
      "879",
      "130",
      "292",
      "705",
      "817",
      "446",
      "576",
      "750",
      "523",
      "-527",
      "4365041",
      "5624958",
      "8990205",
      "2652177",
      "3993588",
      "-298316",
      "2901599",
      "3887387",
      "-5202979",
      "1196268",
      "5968501",
      "7619928",
      "3565643",
      "1885272",
      "-749485",
      "2961381",
      "2982579",
      "2387454",
      "4250081",
      "5958205",
      "00000",
      "00001",
      "00002",
      "00003",
      "00004",
      "00005",
      "00006",
      "00007",
      "00008",
      "00009",
      "4907034",
      "2592882",
      "3269234",
      "549815",
      "6256292",
      "9721039",
      "-595225",
      "5587491",
      "4596297",
      "-3885009",
      "673",
      "-899",
      "174",
      "354",
      "870",
      "147",
      "898",
      "-510",
      "369",
      "859",
      "6518423",
      "5149762",
      "8834164",
      "-8085586",
      "3233120",
      "8166948",
      "4172345",
      "6735549",
      "-934295",
      "9481935",
      "-430406",
      "6932717",
      "4087292",
      "4047263",
      "3236400",
      "-3863050",
      "4312079",
      "6956261",
      "5689446",
      "3871332",
      "535",
      "691",
      "326",
      "-409",
      "704",
      "-568",
      "301",
      "951",
      "121",
      "384",
      "4969414",
      "9378599",
      "7971781",
      "5380630",
      "5001363",
      "1715827",
      "6044615",
      "9118925",
      "9956168",
      "-8865496",
      "5962464",
      "7408980",
      "6646513",
      "-634564",
      "4188330",
      "9805948",
      "5625691",
      "7641113",
      "-4212929",
      "7802447",
      "0",
      "1",
      "2",
      "3",
      "4",
      "5",
      "6",
      "7",
      "8",
      "9",
      "2174248",
      "7449361",
      "9896659",
      "-25961",
      "1706598",
      "2412368",
      "-4617035",
      "6314554",
      "2225957",
      "7521434",
      "-9530566",
      "3914164",
      "2394759",
      "7157744",
      "9919392",
      "6406949",
      "-744004",
      "9899789",
      "8380325",
      "-1416284",
      "3402833",
      "2150043",
      "5191009",
      "8979538",
      "9565778",
      "3750211",
      "7304823",
      "2829359",
      "6544236",
      "-615740",
      "363",
      "-627",
      "129",
      "656",
      "135",
      "113",
      "381",
      "646",
      "198",
      "38",
      "8060564",
      "-176752",
      "1184717",
      "-666343",
      "-1273292",
      "-485827",
      "6241066",
      "6579411",
      "8093119",
      "7481306",
      "-4924485",
      "7467889",
      "9813178",
      "7927100",
      "3614859",
      "7293354",
      "9232973",
      "4323115",
      "1133911",
      "9511638",
      "4443188",
      "2289448",
      "5639726",
      "9073898",
      "8540394",
      "5389992",
      "1397726",
      "-589230",
      "1017086",
      "1852330",
      "-840",
      "267",
      "201",
      "533",
      "-675",
      "494",
      "315",
      "706",
      "-920",
      "784",
      "9097353",
      "6002251",
      "-308780",
      "-3830169",
      "4340467",
      "2235284",
      "3314444",
      "1085967",
      "4152107",
      "5431117",
      "-0000",
      "-0001",
      "-0002",
      "-0003",
      "-0004",
      "-0005",
      "-0006",
      "-0007",
      "-0008",
      "-0009",
      "-444999",
      "2136400",
      "6925907",
      "6990614",
      "3588271",
      "8422028",
      "-4034772",
      "5804039",
      "-6740545",
      "9381873",
      "-924923",
      "1652367",
      "2302616",
      "6776663",
      "2567821",
      "-248935",
      "2587688",
      "7076742",
      "-6461467",
      "1562896",
      "-768116",
      "2338768",
      "9887307",
      "9992184",
      "2045182",
      "2797589",
      "9784597",
      "9696554",
      "5113329",
      "1067216",
      "-76247763",
      "58169007",
      "29408062",
      "85342511",
      "42092201",
      "-95817703",
      "-1912517",
      "-26275135",
      "54656606",
      "-58188878",
      "473",
      "74",
      "374",
      "-64",
      "266",
      "715",
      "937",
      "-249",
      "249",
      "780",
      "3907360",
      "-23063423",
      "59062754",
      "83711047",
      "-95221044",
      "34894840",
      "-38562139",
      "-82018330",
      "14226223",
      "-10799717",
      "8529722",
      "88961903",
      "25608618",
      "-39988247",
      "33228241",
      "38598533",
      "21161480",
      "-33723784",
      "8873948",
      "96505557",
      "-47385048",
      "-79413272",
      "-85904404",
      "87791158",
      "49194195",
      "13051222",
      "57773302",
      "31904423",
      "3142966",
      "27846156",
      "7420011",
      "-72376922",
      "-68873971",
      "23765361",
      "4040725",
      "-22359806",
      "85777219",
      "10099223",
      "-90364256",
      "-40158172",
      "-7948696",
      "-64344821",
      "34404238",
      "84037448",
      "-85084788",
      "-42078409",
      "-56550310",
      "96898389",
      "-595829",
      "-73166703",
      "-0",
      "-1",
      "-2",
      "-3",
      "-4",
      "-5",
      "-6",
      "-7",
      "-8",
      "-9",
      "2147483647",
      "31",
      "2147483610",
      "33",
      "2147483573",
      "37",
      "2147483536",
      "-82838342",
      "64441808",
      "43641062",
      "-64419642",
      "-44421934",
      "75232413",
      "-75773725",
      "-89139509",
      "12812089",
      "-97633526",
      "36090916",
      "-57706234",
      "17804655",
      "4189936",
      "-4100124",
      "38803710",
      "-39735126",
      "-62397437",
      "75801648",
      "51302332",
      "73433906",
      "13015224",
      "-12624818",
      "91360377",
      "11576319",
      "-54467535",
      "8892431",
      "36319780",
      "38832042",
      "50172572",
      "-317",
      "109",
      "-888",
      "302",
      "-463",
      "716",
      "916",
      "665",
      "826",
      "513",
      "42423473",
      "41078812",
      "40445652",
      "-76722281",
      "95092224",
      "12075234",
      "-4045888",
      "-74396490",
      "-57304222",
      "-21726885",
      "92038121",
      "-31899682",
      "21589254",
      "-30260046",
      "56000244",
      "69686659",
      "93327838",
      "96882881",
      "-91419389",
      "77529147",
      "43288506",
      "1192435",
      "-74095920",
      "76756590",
      "-31184683",
      "-35716724",
      "9451980",
      "-63168350",
      "62864002",
      "26283194",
      "37188395",
      "29151634",
      "99343471",
      "-69450330",
      "-55680090",
      "-64957599",
      "47577948",
      "47107924",
      "2490477",
      "48633003",
      "-82740809",
      "-24122215",
      "67301713",
      "-63649610",
      "75499016",
      "82746620",
      "17052193",
      "4602244",
      "-32721165",
      "20837836",
      "674",
      "467",
      "706",
      "889",
      "172",
      "282",
      "-795",
      "188",
      "87",
      "153",
      "64501793",
      "53146328",
      "5152287",
      "-9674493",
      "68105580",
      "57245637",
      "39740229",
      "-74071854",
      "86777268",
      "86484437",
      "-86962508",
      "12644427",
      "-62944073",
      "59539680",
      "43340539",
      "30661534",
      "20143968",
      "-68183731",
      "-48250926",
      "42669063",
      "000",
      "001",
      "002",
      "003",
      "004",
      "005",
      "006",
      "007",
      "008",
      "009",
      "2147483499",
      "71",
      "2147483462",
      "73",
      "2147483425",
      "77",
      "2147483388",
      "87736852",
      "-4444906",
      "-48094147",
      "54774735",
      "54571890",
      "-22473078",
      "95053418",
      "393654",
      "-33229960",
      "32276798",
      "-48361110",
      "44295939",
      "-79813406",
      "11630865",
      "38544571",
      "70972830",
      "-9821748",
      "-60965384",
      "-13096675",
      "-24569041",
      "708",
      "-467",
      "-794",
      "610",
      "929",
      "766",
      "152",
      "482",
      "397",
      "-191",
      "97233152",
      "51028396",
      "-13796948",
      "95437272",
      "71352512",
      "-83233730",
      "-68517318",
      "61832742",
      "-42667174",
      "-18002395",
      "-92239407",
      "12701336",
      "-63830875",
      "41514172",
      "-5726049",
      "18668677",
      "69555144",
      "-13737009",
      "-22626233",
      "-55078143",
      "00",
      "11",
      "22",
      "33",
      "44",
      "-00",
      "-11",
      "-22",
      "-33",
      "-44",
      "000",
      "111",
      "222",
      "333",
      "444",
      "-000",
      "-111",
      "-222",
      "-333",
      "-444",
      "0000",
      "1111",
      "2222",
      "3333",
      "4444",
      "-0000",
      "-1111",
      "-2222",
      "-3333",
      "-4444",
      "00000",
      "11111",
      "22222",
      "33333",
      "44444",
      "-00000",
      "-11111",
      "-22222",
      "-33333",
      "-44444",
      "000000",
      "111111",
      "222222",
      "333333",
      "444444",
      "-000000",
      "-111111",
      "-222222",
      "-333333",
      "-444444",
      "0000000",
      "1111111",
      "2222222",
      "3333333",
      "4444444",
      "-0000000",
      "-1111111",
      "-2222222",
      "-3333333",
      "-4444444",
      "00000000",
      "11111111",
      "22222222",
      "33333333",
      "44444444",
      "-00000000",
      "-11111111",
      "-22222222",
      "-33333333",
      "-44444444",
      "000000000",
      "111111111",
      "222222222",
      "333333333",
      "444444444",
      "-000000000",
      "-111111111",
      "-222222222",
      "-333333333",
      "-444444444",
      "2147483351",
      "51",
      "2147483314",
      "53",
      "-2147483648",
      "57",
      "-2147483611",
      "55",
      "66",
      "77",
      "88",
      "99",
      "-55",
      "-66",
      "-77",
      "-88",
      "-99",
      "555",
      "666",
      "777",
      "888",
      "999",
      "-555",
      "-666",
      "-777",
      "-888",
      "-999",
      "5555",
      "6666",
      "7777",
      "8888",
      "9999",
      "-5555",
      "-6666",
      "-7777",
      "-8888",
      "-9999",
      "55555",
      "66666",
      "77777",
      "88888",
      "99999",
      "-55555",
      "-66666",
      "-77777",
      "-88888",
      "-99999",
      "555555",
      "666666",
      "777777",
      "888888",
      "999999",
      "-555555",
      "-666666",
      "-777777",
      "-888888",
      "-999999",
      "5555555",
      "6666666",
      "7777777",
      "8888888",
      "9999999",
      "-5555555",
      "-6666666",
      "-7777777",
      "-8888888",
      "-9999999",
      "55555555",
      "66666666",
      "77777777",
      "88888888",
      "99999999",
      "-55555555",
      "-66666666",
      "-77777777",
      "-88888888",
      "-99999999",
      "555555555",
      "666666666",
      "777777777",
      "888888888",
      "999999999",
      "-555555555",
      "-666666666",
      "-777777777",
      "-888888888",
      "-999999999",
      "-2147483574",
      "91",
      "-2147483537",
      "93",
      "-2147483500",
      "97",
      "-2147483463",
      "0000000011",
      "0000000022",
      "0000000033",
      "0000000044",
      "-000000011",
      "-000000022",
      "-000000033",
      "-000000044",
      "-000000088",
      "0000000111",
      "0000000222",
      "0000000333",
      "0000000444",
      "-000000111",
      "-000000222",
      "-000000333",
      "-000000444",
      "-000000888",
      "0000001111",
      "0000002222",
      "0000003333",
      "0000004444",
      "-000001111",
      "-000002222",
      "-000003333",
      "-000004444",
      "-000008888",
      "0000011111",
      "0000022222",
      "0000033333",
      "0000044444",
      "-000011111",
      "-000022222",
      "-000033333",
      "-000044444",
      "-000088888",
      "0000111111",
      "0000222222",
      "0000333333",
      "0000444444",
      "-000111111",
      "-000222222",
      "-000333333",
      "-000444444",
      "-000888888",
      "0001111111",
      "0002222222",
      "0003333333",
      "0004444444",
      "-001111111",
      "-002222222",
      "-003333333",
      "-004444444",
      "-008888888",
      "0011111111",
      "0022222222",
      "0033333333",
      "0044444444",
      "-011111111",
      "-022222222",
      "-033333333",
      "-044444444",
      "-088888888",
      "0111111111",
      "0222222222",
      "0333333333",
      "0444444444",
      "-111111111",
      "-222222222",
      "-333333333",
      "-444444444",
      "-888888888",
      "0000000055",
      "0000000066",
      "0000000077",
      "0000000088",
      "0000000099",
      "-000000055",
      "-000000066",
      "-000000077",
      "-000000099",
      "0000000555",
      "0000000666",
      "0000000777",
      "0000000888",
      "0000000999",
      "-000000555",
      "-000000666",
      "-000000777",
      "-000000999",
      "0000005555",
      "0000006666",
      "0000007777",
      "0000008888",
      "0000009999",
      "-000005555",
      "-000006666",
      "-000007777",
      "-000009999",
      "0000055555",
      "0000066666",
      "0000077777",
      "0000088888",
      "0000099999",
      "-000055555",
      "-000066666",
      "-000077777",
      "-000099999",
      "0000555555",
      "0000666666",
      "0000777777",
      "0000888888",
      "0000999999",
      "-000555555",
      "-000666666",
      "-000777777",
      "-000999999",
      "0005555555",
      "0006666666",
      "0007777777",
      "0008888888",
      "0009999999",
      "-005555555",
      "-006666666",
      "-007777777",
      "-009999999",
      "0055555555",
      "0066666666",
      "0077777777",
      "0088888888",
      "0099999999",
      "-055555555",
      "-066666666",
      "-077777777",
      "-099999999",
      "0555555555",
      "0666666666",
      "0777777777",
      "0888888888",
      "0999999999",
      "-555555555",
      "-666666666",
      "-777777777",
      "-999999999",
      "-2147483426",
      "101",
      "-2147483389",
      "103",
      "-2147483352",
      "105",
      "-2147483315",
      "0000001234567890",
      "0000001234567890",
      "-0000001234567890",
      "000001234567890",
      "000001234567890",
      "-000001234567890",
      "00001234567890",
      "00001234567890",
      "-00001234567890",
      "0001234567890",
      "0001234567890",
      "-0001234567890",
      "001234567890",
      "001234567890",
      "-001234567890",
      "01234567890",
      "01234567890",
      "-01234567890",
      "1234567890",
      "1234567890",
      "-1234567890",
  };
  for (std::string const &st : strint_list) {
    T expected_value;
    strtod_from_string(st, expected_value);
    T result_value;
    auto result =
        fast_float::from_chars(st.data(), st.data() + st.size(), result_value);
    if (result.ec != std::errc() &&
        result.ec != std::errc::result_out_of_range) {
      printf("parsing %.*s\n", int(st.size()), st.data());
      std::cerr << " I could not parse " << std::endl;
      return false;
    }
    if (result.ptr != st.data() + st.size()) {
      printf("parsing %.*s\n", int(st.size()), st.data());
      std::cerr << " Did not get to the end " << std::endl;
      return false;
    }
    if (result_value != expected_value) {
      printf("parsing %.*s\n", int(st.size()), st.data());
      std::cerr << "expected value : " << to_string(expected_value)
                << std::endl;
      std::cerr << "result   value : " << to_string(result_value) << std::endl;
      std::cerr << " Mismatch " << std::endl;
      return false;
    }
  }
  return true;
}

int main() {
#if defined(__CYGWIN__) || defined(__MINGW32__) || defined(__MINGW64__) ||     \
    defined(sun) || defined(__sun)
  std::cout << "Warning: msys/cygwin or solaris detected." << std::endl;
#endif
  std::cout << "32 bits checks" << std::endl;
  Assert(partow_test<float>());
  Assert(test<float>());

  std::cout << "64 bits checks" << std::endl;
  Assert(partow_test<double>());
  Assert(test<double>());

  std::cout << "All ok" << std::endl;
  return EXIT_SUCCESS;
}
