diff options
Diffstat (limited to 'lib/core/tests/math.cpp')
| -rw-r--r-- | lib/core/tests/math.cpp | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/lib/core/tests/math.cpp b/lib/core/tests/math.cpp index 970004b..d456ce8 100644 --- a/lib/core/tests/math.cpp +++ b/lib/core/tests/math.cpp @@ -20,7 +20,7 @@ SAW_TEST("Math 1-Linear"){ pos.at({{0u}}).set(0.3); } -SAW_TEST("Math/Floor Index from Pos"){ +SAW_TEST("Math/Floor Index and Fraction from Position"){ using namespace kel; saw::data<sch::Vector<sch::Float64,2u>> pos; @@ -45,4 +45,35 @@ SAW_TEST("Math/Floor Index from Pos"){ SAW_EXPECT(true, "Default true check"); } +SAW_TEST("Math/Floor Index and Fraction from Position and Bounded"){ + using namespace kel; + + saw::data<sch::Vector<sch::Float64,2u>> pos; + + { + pos.at({{0u}}) = 43.999; + pos.at({{1u}}) = -50.0; + } + + saw::data<sch::Vector<sch::UInt64,2U>> bound; + { + bound.at({{0u}}) = 32u; + bound.at({{1u}}) = 16u; + } + + auto ind_frac = lbm::position_to_index_and_fraction_bounded(pos,bound); + auto& ind = ind_frac.template get<0u>(); + for(uint64_t i = 0u; i < 2u; ++i){ + std::cout<<ind.at({{i}}).get()<<" "; + } + std::cout<<std::endl; + auto& frac = ind_frac.template get<1u>(); + for(uint64_t i = 0u; i < 2u; ++i){ + std::cout<<frac.at({{i}}).get()<<" "; + } + std::cout<<std::endl; + + SAW_EXPECT(true, "Default true check"); +} + } |
