#include "bench_framework.hpp" #include class test : public benchmark::test_case { std::string value_; public: test(mapnik::parameters const& params) : test_case(params), value_("1.23456789") {} bool validate() const { double result = 0; if (!mapnik::util::string2double(value_.data(), value_.data() + value_.size(), result)) return false; if (result != 1.23456789) return false; result = 0; if (!mapnik::util::string2double(value_, result)) return false; if (result != 1.23456789) return false; return true; } bool operator()() const { for (std::size_t i = 0; i < iterations_; ++i) { double result = 0; mapnik::util::string2double(value_, result); mapnik::util::string2double(value_.data(), value_.data() + value_.size(), result); } return true; } }; BENCHMARK(test, "string->double")