示例#1
0
  /*
   * compute mat*vct' where vct' is a vector with one additional element
   * (1.0) at the beginning of vct.
   */
  bool MLP::biasMultiply(const dmatrix& mat,
                         const dvector& vct,
                         dvector& res) const {
    int j;
    dmatrix::const_iterator it,eit;
    dvector::iterator rit;
    dvector::const_iterator vit,evit;

    res.resize(mat.rows(),0.0,false,false);
    it = mat.begin();
    eit = mat.end();
    rit = res.begin();
    evit = vct.end();

    for (j=0;j<mat.rows();++j,++rit) {
      *rit = *it;
      ++it;
      for (vit=vct.begin();vit!=evit;++it,++vit) {
        *rit += (*vit)*(*it);
      }
    }

    return true;
  }
示例#2
0
inline void ROC(int window,dvector &input,dvector &output)
{
	functors::ROC<double> _roc(window);
	output.reserve(input.size());
	std::transform( input.begin(), input.end(), output.begin(), _roc);
}
示例#3
0
inline void MOMENTUM(int window,dvector &input,dvector &output)
{
	functors::MOMENTUM<double> _momentum(window);
	output.reserve(input.size());
	std::transform( input.begin(), input.end(), output.begin(), _momentum);
}
示例#4
0
inline void MAX(int window,dvector &input, dvector &output)
{
	functors::MAX<double> _max(window);
	output.reserve(input.size());
	std::transform( input.begin(), input.end(), output.begin(), _max);
}
示例#5
0
inline void SUBTRACT(dvector &input1, dvector &input2, dvector &output)
{//1 - 2
	functors::SUBTRACT<double> _subtract;
	output.reserve(input1.size());
	std::transform(input1.begin(), input1.end(),input2.begin(),output.begin(), _subtract);
}
示例#6
0
inline void EMA(int window,dvector &input, dvector &output)
{
	functors::EMA<double> _ema(window);
	output.reserve(input.size());
	std::transform( input.begin(), input.end(), output.begin(), _ema);
}