#include #include "../c++/descriptor.hpp" namespace { template void check_opposite_dirs(){ using namespace kel; using dfi = lbm::df_info; for(uint64_t k = 0u; k < Descriptor::Q; ++k){ auto k_inv = dfi::opposite_index[k]; for(uint64_t i = 0u; i < Descriptor::D; ++i){ SAW_EXPECT(dfi::directions[k][i] == (-1*dfi::directions[k_inv][i]), "Opposites are inconsistent"); } } } SAW_TEST("Opposites and Dirs D1Q3"){ using namespace kel; check_opposite_dirs>(); } SAW_TEST("Opposites and Dirs D2Q5"){ using namespace kel; check_opposite_dirs>(); } SAW_TEST("Opposites and Dirs D2Q9"){ using namespace kel; check_opposite_dirs>(); } }