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

using std::vector;

Add::Add ():ScalarFunc ("+", 0)
{
}

double
Add::eval (vector <SArray const *> const &args) const
{
  double out = *args[0]->value();
  unsigned int n = args.size();
  for (unsigned int i = 1; i < n; ++i) {
    out += *args[i]->value();
  }
  return out;
}

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


syntax highlighted by Code2HTML, v. 0.9.1