Tatooine
Namespaces | Functions
parallel_vectors.h File Reference

Go to the source code of this file.

Namespaces

namespace  tatooine
 
namespace  tatooine::detail
 

Functions

template<typename Real , invocable< Vec3< Real > >... Preds>
constexpr auto tatooine::detail::pv_on_tri (Vec3< Real > const &p0, Vec3< Real > const &v0, Vec3< Real > const &w0, Vec3< Real > const &p1, Vec3< Real > const &v1, Vec3< Real > const &w1, Vec3< Real > const &p2, Vec3< Real > const &v2, Vec3< Real > const &w2, Preds &&... preds) -> std::optional< Vec3< Real > >
 
template<typename Real >
static auto tatooine::detail::check_tet (std::optional< Vec3< Real > > const &tri0, std::optional< Vec3< Real > > const &tri1, std::optional< Vec3< Real > > const &tri2, std::optional< Vec3< Real > > const &tri3, std::vector< Line3< Real > > &lines)
 
auto constexpr tatooine::detail::is_even (integral auto const i)
 
template<signed_integral Int = int>
auto constexpr tatooine::detail::sign (bool pred) -> Int
 
auto constexpr tatooine::detail::turned (integral auto const ... is) -> bool
 
auto tatooine::detail::check_turned_cube (auto const &x_faces, auto const &y_faces, auto const &z_faces, auto const &inner_faces, auto &ls, auto const ix, auto const iy)
 
auto tatooine::detail::check_unturned_cube (auto const &x_faces, auto const &y_faces, auto const &z_faces, auto const &inner_faces, auto &ls, auto const ix, auto const iy)
 
auto tatooine::detail::check_cube (auto const &x_faces, auto const &y_faces, auto const &z_faces, auto const &inner_faces, auto &ls, auto const ix, auto const iy, auto const iz)
 
template<typename Real , typename GetV , typename GetW , typename XDomain , typename YDomain , typename ZDomain , invocable< Vec3< Real > >... Preds>
auto tatooine::detail::calc_parallel_vectors (GetV &&getv, GetW &&getw, tatooine::rectilinear_grid< XDomain, YDomain, ZDomain > const &g, execution_policy::parallel_t const policy, Preds &&... preds) -> std::vector< Line3< Real > >
 
template<typename Real , typename GetV , typename GetW , typename XDomain , typename YDomain , typename ZDomain , invocable< Vec3< Real > >... Preds>
auto tatooine::detail::calc_parallel_vectors (GetV &&getv, GetW &&getw, tatooine::rectilinear_grid< XDomain, YDomain, ZDomain > const &g, execution_policy::sequential_t const policy, Preds &&... preds)
 
template<typename Real , typename GetV , typename GetW , typename XDomain , typename YDomain , typename ZDomain , invocable< Vec3< Real > >... Preds>
auto tatooine::detail::calc_parallel_vectors (GetV &&getv, GetW &&getw, tatooine::rectilinear_grid< XDomain, YDomain, ZDomain > const &g, execution_policy_tag auto const policy, Preds &&... preds)
 
template<typename VReal , typename WReal , typename XDomain , typename YDomain , typename ZDomain , arithmetic TReal, invocable< vec< common_type< VReal, WReal >, 3 > >... Preds>
auto tatooine::parallel_vectors (polymorphic::vectorfield< VReal, 3 > const &vf, polymorphic::vectorfield< WReal, 3 > const &wf, rectilinear_grid< XDomain, YDomain, ZDomain > const &g, TReal const t, execution_policy_tag auto const policy, Preds &&... preds)
 This is an implementation of [5]. More...
 
template<typename VReal , typename WReal , typename XDomain , typename YDomain , typename ZDomain , arithmetic TReal, invocable< vec< common_type< VReal, WReal >, 3 > >... Preds>
auto tatooine::parallel_vectors (polymorphic::vectorfield< VReal, 3 > const &vf, polymorphic::vectorfield< WReal, 3 > const &wf, rectilinear_grid< XDomain, YDomain, ZDomain > const &g, TReal const t, Preds &&... preds)
 This is an implementation of [5]. More...
 
template<typename V , typename W , typename VReal , typename WReal , typename XDomain , typename YDomain , typename ZDomain , arithmetic TReal, invocable< vec< common_type< VReal, WReal >, 3 > >... Preds>
auto tatooine::parallel_vectors (vectorfield< V, VReal, 3 > const &vf, vectorfield< W, WReal, 3 > const &wf, rectilinear_grid< XDomain, YDomain, ZDomain > const &g, TReal const t, execution_policy_tag auto const policy, Preds &&... preds)
 This is an implementation of [5]. More...
 
template<typename V , typename W , typename VReal , typename WReal , typename XDomain , typename YDomain , typename ZDomain , arithmetic TReal, invocable< vec< common_type< VReal, WReal >, 3 > >... Preds>
auto tatooine::parallel_vectors (vectorfield< V, VReal, 3 > const &vf, vectorfield< W, WReal, 3 > const &wf, rectilinear_grid< XDomain, YDomain, ZDomain > const &g, TReal const t, Preds &&... preds)
 This is an implementation of [5]. More...
 
template<typename V , typename W , typename VReal , typename WReal , typename XDomain , typename YDomain , typename ZDomain , invocable< vec< common_type< VReal, WReal >, 3 > >... Preds>
auto tatooine::parallel_vectors (vectorfield< V, VReal, 3 > const &vf, vectorfield< W, WReal, 3 > const &wf, rectilinear_grid< XDomain, YDomain, ZDomain > const &g, execution_policy_tag auto const policy, Preds &&... preds)
 This is an implementation of [5]. More...
 
template<typename V , typename W , typename VReal , typename WReal , typename XDomain , typename YDomain , typename ZDomain , invocable< vec< common_type< VReal, WReal >, 3 > >... Preds>
auto tatooine::parallel_vectors (vectorfield< V, VReal, 3 > const &vf, vectorfield< W, WReal, 3 > const &wf, rectilinear_grid< XDomain, YDomain, ZDomain > const &g, Preds &&... preds)
 This is an implementation of [5]. More...
 
template<typename V , typename W , typename VReal , typename WReal , typename XReal , typename YReal , typename ZReal , arithmetic TReal, invocable< vec< common_type< VReal, WReal >, 3 > >... Preds>
auto tatooine::parallel_vectors (vectorfield< V, VReal, 3 > const &vf, vectorfield< W, WReal, 3 > const &wf, linspace< XReal > const &x, linspace< YReal > const &y, linspace< ZReal > const &z, TReal const t, execution_policy_tag auto const policy, Preds &&... preds)
 This is an implementation of [5]. More...
 
template<typename V , typename W , typename VReal , typename WReal , typename XReal , typename YReal , typename ZReal , arithmetic TReal, invocable< vec< common_type< VReal, WReal >, 3 > >... Preds>
auto tatooine::parallel_vectors (vectorfield< V, VReal, 3 > const &vf, vectorfield< W, WReal, 3 > const &wf, linspace< XReal > const &x, linspace< YReal > const &y, linspace< ZReal > const &z, TReal const t, Preds &&... preds)
 This is an implementation of [5]. More...
 
template<typename V , typename W , typename VReal , typename WReal , typename XReal , typename YReal , typename ZReal , invocable< vec< common_type< VReal, WReal >, 3 > >... Preds>
auto tatooine::parallel_vectors (vectorfield< V, VReal, 3 > const &vf, vectorfield< W, WReal, 3 > const &wf, linspace< XReal > const &x, linspace< YReal > const &y, linspace< ZReal > const &z, execution_policy_tag auto const policy, Preds &&... preds)
 This is an implementation of [5]. More...
 
template<typename V , typename W , typename VReal , typename WReal , typename XReal , typename YReal , typename ZReal , invocable< vec< common_type< VReal, WReal >, 3 > >... Preds>
auto tatooine::parallel_vectors (vectorfield< V, VReal, 3 > const &vf, vectorfield< W, WReal, 3 > const &wf, linspace< XReal > const &x, linspace< YReal > const &y, linspace< ZReal > const &z, Preds &&... preds)
 This is an implementation of [5]. More...
 
template<typename VReal , typename VIndexing , typename WReal , typename WIndexing , typename AABBReal , invocable< vec< common_type< VReal, WReal >, 3 > >... Preds>
auto tatooine::parallel_vectors (dynamic_multidim_array< vec< VReal, 3 >, VIndexing > const &vf, dynamic_multidim_array< vec< WReal, 3 >, WIndexing > const &wf, axis_aligned_bounding_box< AABBReal, 3 > const &bb, execution_policy_tag auto const policy, Preds &&... preds)
 This is an implementation of [5]. More...
 
template<typename VReal , typename VIndexing , typename WReal , typename WIndexing , typename AABBReal , invocable< vec< common_type< VReal, WReal >, 3 > >... Preds>
auto tatooine::parallel_vectors (dynamic_multidim_array< vec< VReal, 3 >, VIndexing > const &vf, dynamic_multidim_array< vec< WReal, 3 >, WIndexing > const &wf, axis_aligned_bounding_box< AABBReal, 3 > const &bb, Preds &&... preds)
 This is an implementation of [5]. More...