#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;
}
}