#include "range.h" //--------------- range functions ------------------- matrix range(int start, int stride, int stop) { if (stride < 1) throw invalid_argument("stride must be positive."); int size; if (stop >= start) size = (stop - start + stride - 1) / stride; else size = 0; matrix result(1, size); for (int k=0; k < size; k++) result(0, k) = start + k*stride; return result; } matrix range(int start, int stop) { return range(start, 1, stop); } matrix range(int start) { return matrix(1,1,start); }