Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Namespaces | Functions
intervals.hpp File Reference
#include "shambase/type_traits.hpp"
#include "shambackends/math.hpp"
#include "shambackends/type_traits.hpp"
+ Include dependency graph for intervals.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  shammath
 namespace for math utility
 

Functions

template<class T , std::enable_if_t< sham::is_valid_sycl_base_type< T >, int > = 0>
bool shammath::is_in_half_open (T val, T min, T max)
 return true if val is in [min,max[
 
template<class T >
bool shammath::is_in_half_open (sycl::vec< T, 2 > val, sycl::vec< T, 2 > min, sycl::vec< T, 2 > max)
 Check if value is in [min,max) for 2D vectors.
 
template<class T >
bool shammath::is_in_half_open (sycl::vec< T, 3 > val, sycl::vec< T, 3 > min, sycl::vec< T, 3 > max)
 Check if value is in [min,max) for 3D vectors.
 
template<class T >
bool shammath::is_in_half_open (sycl::vec< T, 4 > val, sycl::vec< T, 4 > min, sycl::vec< T, 4 > max)
 Check if value is in [min,max) for 4D vectors.
 
template<class T >
bool shammath::is_in_half_open (sycl::vec< T, 8 > val, sycl::vec< T, 8 > min, sycl::vec< T, 8 > max)
 Check if value is in [min,max) for 8D vectors.
 
template<class T >
bool shammath::is_in_half_open (sycl::vec< T, 16 > val, sycl::vec< T, 16 > min, sycl::vec< T, 16 > max)
 Check if value is in [min,max) for 16D vectors.
 
template<class T , std::enable_if_t< sham::is_valid_sycl_base_type< T >, int > = 0>
bool shammath::domain_are_connected (T bmin1, T bmax1, T bmin2, T bmax2)
 Check if two 1D intervals share boundary or overlap.
 
template<class T >
bool shammath::domain_are_connected (sycl::vec< T, 2 > bmin1, sycl::vec< T, 2 > bmax1, sycl::vec< T, 2 > bmin2, sycl::vec< T, 2 > bmax2)
 Check if two 2D boxes share boundary or overlap.
 
template<class T >
bool shammath::domain_are_connected (sycl::vec< T, 3 > bmin1, sycl::vec< T, 3 > bmax1, sycl::vec< T, 3 > bmin2, sycl::vec< T, 3 > bmax2)
 Check if two 3D boxes share boundary or overlap.
 
template<class T , std::enable_if_t< sham::is_valid_sycl_base_type< T >, int > = 0>
bool shammath::domain_have_intersect (T bmin1, T bmax1, T bmin2, T bmax2)
 Check if two 1D intervals have non-empty intersection.
 
template<class T >
bool shammath::domain_have_intersect (sycl::vec< T, 2 > bmin1, sycl::vec< T, 2 > bmax1, sycl::vec< T, 2 > bmin2, sycl::vec< T, 2 > bmax2)
 Check if two 2D boxes have non-empty intersection.
 
template<class T >
bool shammath::domain_have_intersect (sycl::vec< T, 3 > bmin1, sycl::vec< T, 3 > bmax1, sycl::vec< T, 3 > bmin2, sycl::vec< T, 3 > bmax2)
 Check if two 3D boxes have non-empty intersection.
 
template<class T >
bool shammath::domain_have_common_face (sycl::vec< T, 3 > bmin1, sycl::vec< T, 3 > bmax1, sycl::vec< T, 3 > bmin2, sycl::vec< T, 3 > bmax2)
 Check if two 3D boxes share a common face.
 

Detailed Description

Author
Timothée David–Cléris (tim.s.nosp@m.hamr.nosp@m.ock@p.nosp@m.roto.nosp@m.n.me)

Definition in file intervals.hpp.