#include #include #include #include using std::vector; using std::logic_error; Sum::Sum () : ScalarFunc ("sum", 1) { } double Sum::eval (vector 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 const &args) const { return true; } bool Sum::isDiscreteValued(vector const &args) const { return allDiscrete(args); }