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

using std::vector;
using std::string;

Function::Function (string const &name, unsigned int npar)
  : _name (name), _npar (npar)
{
}

Function::~Function ()
{
  //virtual destructor
}

string const & Function::name () const
{
  return _name;
}

bool Function::checkParameterValue (vector <SArray const *> const &args) const
{
  return true;
}

bool Function::checkParameterLength (vector <SArray const *> const &args) const
{
  if (_npar != 0 && args.size () != _npar) {
    return false;
  }
  return true;
}

bool Function::isDiscreteValued(std::vector<SArray const *> const &args) const
{
  return false;
}

bool allDiscrete(vector<SArray const *> const &args)
{
  for (unsigned int i = 0; i < args.size(); ++i) {
    if (!args[i]->isDiscreteValued())
      return false;
  }
  return true;
}



syntax highlighted by Code2HTML, v. 0.9.1