summaryrefslogtreecommitdiff
path: root/tests/descriptor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/descriptor.cpp')
-rw-r--r--tests/descriptor.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/descriptor.cpp b/tests/descriptor.cpp
new file mode 100644
index 0000000..5e23ebc
--- /dev/null
+++ b/tests/descriptor.cpp
@@ -0,0 +1,30 @@
+#include <forstio/test/suite.hpp>
+
+#include "../c++/descriptor.hpp"
+
+
+namespace {
+template<typename Descriptor>
+void check_opposite_dirs(){
+ using namespace kel;
+
+ using dfi = lbm::df_info<lbm::sch::Float32, Descriptor>;
+
+ 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 D2Q5"){
+ using namespace kel;
+ check_opposite_dirs<lbm::sch::Descriptor<2,5>>();
+}
+SAW_TEST("Opposites and Dirs D2Q9"){
+ using namespace kel;
+ check_opposite_dirs<lbm::sch::Descriptor<2,9>>();
+}
+}