#pragma once #include "common.hpp" namespace kel { namespace lbm { template saw::data> lower_index_from_pos(const saw::data>& pos){ saw::data> ind; for(saw::data i{0u}; i < ind.size(); ++i){ ind.at(i).set(std::max(pos.at(i).template cast_to().get(),0)); } return ind; } template saw::data> upper_index_from_pos(const saw::data>& pos){ auto ind = lower_index_from_pos(pos); for(saw::data i{0u}; i < ind.size(); ++i){ ++ind.at(i); } return ind; } } }