#ifndef FUNC_INPROD_H_
#define FUNC_INPROD_H_

#include <functions/ScalarFunc.h>

/**
 * @short Inner product of two vectors
 * The InProd function returns the sum of the product of corresponding
 * elements from two arrays with the same dimension
 * <pre>
 * y <- inprod(a[],b[])
 * </pre>
 */
class InProd : public ScalarFunc
{
public:
  InProd ();
  double eval (std::vector <SArray const *> const &args) const;
  bool checkParameterDim (std::vector <SArray const*> const &args) const;
  bool isDiscreteValued(std::vector<SArray const *> const &args) const;
};

#endif /* FUNC_INPROD_H_ */


syntax highlighted by Code2HTML, v. 0.9.1