Macaulay2 Engine
Loading...
Searching...
No Matches

◆ fillDenseArray()

template<typename RingType>
void ConcreteVectorArithmetic< RingType >::fillDenseArray ( ElementArray & dense,
const ElementArray & sparse,
const Range< const int > & comps ) const
inline

Definition at line 222 of file VectorArithmetic.hpp.

225 {
226 // Note: this function simply fills in the values coming from '(sparse, comps)'.
227 // Other values are not touched.
228 // In our intended uses, the input `dense` is the vector consisting of all zeros.
229
230 auto& dvec = * elementArray(dense);
231 auto& svec = * elementArray(sparse);
232
233 assert(comps.size() == svec.size());
234 assert(comps[comps.size()-1] < dvec.size());
235
236 auto len = comps.size();
237 for (ComponentIndex i = 0; i < len; i++) mRing->set(dvec[comps[i]],svec[i]);
238 }
size_t size(const ElementArray &coeffs) const
Linear Algebra /////.
ElementArrayContainer * elementArray(const ElementArray &f) const

References dvec(), elementArray(), mRing, and Range< T >::size().