math_geometric.h File Reference
#include "SYCL/builtins/math_symbols.h"
#include "SYCL/cpp_to_cl_cast.h"
#include "SYCL/gen_type_traits.h"
#include "SYCL/half_type.h"
#include "SYCL/type_traits.h"
#include "computecpp/gsl/gsl"
Go to the source code of this file.
Namespaces | |
cl | |
deduce_type_t takes an arbitrary type and attempts to map it to a cl::sycl::cl_type . | |
cl::sycl | |
Macros | |
#define | COMPUTECPP_DETAIL_NAMESPACE abacus::detail::geometric |
Functions | |
template<typename F , int N, COMPUTECPP_REQUIRES((detail::is_custom_half_type< F >::value|| std::is_same< F, float >::value|| std::is_same< F, double >::value) &&(N==3||N==4)) > | |
vec< F, N > | cl::sycl::cross (const vec< F, N > p0, const vec< F, N > p1) noexcept |
Returns the cross product of p0.xyz and p1.xyz. More... | |
template<typename F1 , typename F2 , typename F = detail::select_float_t<detail::common_return_t<F1, F2>>, COMPUTECPP_REQUIRES((detail::builtin::is_gen_geo_anyfloat< F1 >::value && detail::builtin::is_gen_geo_anyfloat< F2 >::value)) > | |
F | cl::sycl::dot (F1 p0, F2 p1) noexcept |
Compute dot product. More... | |
template<typename F1 , typename F2 , typename F = detail::select_float_t<detail::common_return_t<F1, F2>>, COMPUTECPP_REQUIRES((detail::builtin::is_gen_geo_anyfloat< F1 >::value && detail::builtin::is_gen_geo_anyfloat< F2 >::value)) > | |
F | cl::sycl::distance (F1 p0, F2 p1) noexcept |
Returns the distance between p0 and p1. More... | |
template<typename F , typename return_t = detail::select_float_t<detail::collapse_swizzled_vec_t<F>>, COMPUTECPP_REQUIRES(detail::builtin::is_gen_geo_anyfloat< F >::value) > | |
return_t | cl::sycl::length (F p) noexcept |
Return the length of vector p, i.e. More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES(detail::builtin::is_gen_geo_anyfloat< F >::value) > | |
return_t | cl::sycl::normalize (F p) noexcept |
Returns a vector in the same direction as p but with a length of 1. More... | |
template<typename F1 , typename F2 , typename F = detail::scalar_t<detail::common_return_t<F1, F2>>, COMPUTECPP_REQUIRES((computecpp::gsl::or_< detail::builtin::is_gengeohalf< F1 >::value, detail::builtin::is_gengeofloat< F1 >::value >::value) &&(computecpp::gsl::or_< detail::builtin::is_gengeohalf< F2 >::value, detail::builtin::is_gengeofloat< F2 >::value >::value)) > | |
F | cl::sycl::fast_distance (F1 p0, F2 p1) noexcept |
Returns f ast length(p0 - p1) . More... | |
template<typename F , typename return_t = detail::scalar_t<detail::collapse_swizzled_vec_t<F>>, COMPUTECPP_REQUIRES( computecpp::gsl::or_< detail::builtin::is_gengeohalf< F >::value, detail::builtin::is_gengeofloat< F >::value >::value) > | |
return_t | cl::sycl::fast_length (F p) noexcept |
Returns the length of vector p computed as: sqrt((half)(pow(p.x,2) + pow(p.y,2)+ ...)) . More... | |
template<typename F , typename return_t = detail::collapse_swizzled_vec_t<F>, COMPUTECPP_REQUIRES( computecpp::gsl::or_< detail::builtin::is_gengeohalf< F >::value, detail::builtin::is_gengeofloat< F >::value >::value) > | |
return_t | cl::sycl::fast_normalize (F p) noexcept |
Returns a vector in the same direction as p but with a length of 1. More... | |
Macro Definition Documentation
◆ COMPUTECPP_DETAIL_NAMESPACE
#define COMPUTECPP_DETAIL_NAMESPACE abacus::detail::geometric |
Definition at line 28 of file math_geometric.h.