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

#include <stdexcept>
#include <cmath>

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

NEG::NEG ()
  : ScalarFunc ("NEG", 1)
{
}

double
NEG::eval (vector <SArray const*> const &args) const
{
  double arg = *(args[0]->value ());
  return -arg;
}

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


syntax highlighted by Code2HTML, v. 0.9.1