8#ifndef DESIGNLAB_LOOP_UTIL_H_
9#define DESIGNLAB_LOOP_UTIL_H_
25class DoubleIntRange final
36 Iterator(
int i,
int j,
int j_max) : i(i), j(j), j_max(j_max) {}
40 return std::make_tuple(i, j);
43 Iterator& operator++()
56 bool operator!=(
const Iterator& other)
const
58 return i != other.i || j != other.j;
62 DoubleIntRange(
const int i_max,
const int j_max) :
69 Iterator begin()
const
71 return Iterator(0, 0, j_max_);
76 return Iterator(i_max_, 0, j_max_);
constexpr VECTOR operator*(const VECTOR &vec, const float s)