#include <config.h>
#include <functions/Subtract.h>
#include <sarray/SArray.h>

#include <stdexcept>

using std::vector;
using std::logic_error;

Subtract::Subtract ()
  : ScalarFunc ("-", 2)
{
}

double
Subtract::eval (vector <SArray const *> const &args) const
{
  double val1 = *(args[0]->value ());
  double val2 = *(args[1]->value ());
  return val1 - val2;
}

bool Subtract::isDiscreteValued(vector<SArray const *> const &args) const
{
  return allDiscrete(args);
}


syntax highlighted by Code2HTML, v. 0.9.1