Integer sequences¶
Defined in header <vif/utility/generic.hpp>
.
indgen¶
template<typename T = uint_t, typename ... Dims>
vec</*...*/,T> indgen(Dims&& ... ds);
This functions will create a new vector with values starting at 0
and increment linearly by steps of 1
until the end of the vector. Internally, the values are generated with the standard function std::iota`
. The number of dimensions of the resulting vector depends on the types Args
of the arguments:
- Each argument of type
uint_t
increases the number of dimensions by one. - Each argument of type
std::array<uint_t,D>
increases the number of dimensions byD
.
The type of the values in the resulting vector is determined by the template parameter T
, which defaults to uint_t
if none is provided.
Example:
vec1u v = indgen(5); // {0,1,2,3,4}
vec2u w = indgen(3,2); // {{0,1}, {2,3}, {4,5}}