#include "ignore.h" #include "constants.h" namespace blop { std::vector<std::string> &ignore::list_() { static std::vector<std::string> the_list; if(the_list.empty()) { the_list.push_back("inf"); the_list.push_back("-inf"); the_list.push_back("nan"); } return the_list; } void ignore::add(const var &v) { list_().push_back(v.str()); } void ignore::clear() { list_().clear(); } bool ignore::it(const var &v) { if(v.dbl() == unset) return true; if(!finite(v.dbl())) return true; for(unsigned int i=0; i<list_().size(); ++i) { if(list_()[i] == v.str()) return true; } return false; } }