23 static_assert(Sfx::EMCNEILNbSections::value==std::ranges::size(aRng));
25 using value_type = std::ranges::range_value_t<Rng>;
26 using diff_t = std::ranges::range_difference_t<Rng>;
28 if constexpr (std::ranges::range<
decltype(aRng)>)
31 w_rngOfValues.reserve(std::ranges::distance(aRng));
34 std::adjacent_difference(std::ranges::begin(aRng), std::ranges::end(aRng),
35 std::back_inserter(w_deriValues));
39 return std::move(w_deriValues) | std::views::drop(1);
48 const auto w_Length = std::ranges::distance(aRng);
51 std::vector<value_type> w_Cont;
52 w_Cont.reserve(w_Length);
60 std::adjacent_difference( std::ranges::begin(aRng), std::ranges::end(aRng), std::back_inserter(w_Cont));
61 assert( w_Cont.size() == w_Length);
67 return std::vector<value_type>( std::next(w_Cont.cbegin()), w_Cont.cend());
auto UpwindDerivatr1st(Rng aRng)
Implementation of the upwind derivative scheme using generic programming.
Definition Sfx_UpwindScheme1st.hpp:21