#include <config.h>
#include <functions/Sum.h>
#include <sarray/SArray.h>
#include <stdexcept>
using std::vector;
using std::logic_error;
Sum::Sum () : ScalarFunc ("sum", 1)
{
}
double
Sum::eval (vector <SArray const *> const &args) const
{
double const *arg1 = args[0]->value ();
long len = args[0]->length ();
double value = 0;
for (long i = 0; i < len; i++)
{
value += arg1[i];
}
return value;
}
bool Sum::checkParameterDim (vector <SArray const *> const &args) const
{
return true;
}
bool Sum::isDiscreteValued(vector<SArray const *> const &args) const
{
return allDiscrete(args);
}
syntax highlighted by Code2HTML, v. 0.9.1