I think there is error in parsing numbers on line std::string n = s.substr(save_ptr, ptr);
which sometimes evaluates int as float (when somewhere later in string there is a "."..
I think there should be (ptr - save_ptr) as a second parameter to substr.
I think there is error in parsing numbers on line std::string n = s.substr(save_ptr, ptr);
which sometimes evaluates int as float (when somewhere later in string there is a "."..
I think there should be (ptr - save_ptr) as a second parameter to substr.