本文整理汇总了C++中TVec::Elts方法的典型用法代码示例。如果您正苦于以下问题:C++ TVec::Elts方法的具体用法?C++ TVec::Elts怎么用?C++ TVec::Elts使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TVec
的用法示例。
在下文中一共展示了TVec::Elts方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: oprods
TSparseMat oprods(const TVec &a, const TVec &b)
// returns outerproduct of a and b: a * trans(b)
{
TSparseMat result;
Int i;
result.SetSize(a.Elts(), b.Elts());
for (i = 0; i < a.Elts(); i++)
if (TSparseVec::IsNonZero(a[i]))
{
result[i] = b;
result[i] *= a[i];
}
else
result[i] = vl_0;
return(result);
}
示例2: dot
TVReal dot(const TSparseVec &a, const TVec &b)
{
Assert(a.Elts() == b.Elts(), "(SparseVec::dot) Vec sizes don't match");
TMReal sum = vl_zero;
Int i;
for (i = 0; i < a.NumItems() - 1; i++)
sum += a[i].elt * b[a[i].index];
return(sum);
}
示例3: dot
TVec operator * (const TSparseMat &m, const TVec &v)
{
Assert(m.Cols() == v.Elts(), "(SparseMat::*v) matrix and vector sizes don't match");
Int i;
TVec result(m.Rows());
for (i = 0; i < m.Rows(); i++)
result[i] = dot(m[i], v);
return(result);
}
示例4:
TVec operator * (const TVec &v, const TMat &m) // v * m
{
Assert(v.Elts() == m.Rows(), "(Mat::v*m) vector/matrix sizes don't match");
TMVec temp(m.Cols(), vl_zero); // accumulate in high precision
TVec result(m.Cols()); // return low precision.
Int i;
for (i = 0; i < m.Rows(); i++)
temp += m[i] * v[i];
for (i = 0; i < temp.Elts(); i++)
result[i] = temp[i];
return(result);
}