|
EBGeometry
Compact, header-only C++ library for fast evaluation of signed distance functions
|
Declaration of SoA triangle group for SIMD signed-distance evaluation. More...
#include <cstddef>#include <cstdint>#include <type_traits>#include "EBGeometry_Array.hpp"#include "EBGeometry_SIMD.hpp"#include "EBGeometry_Triangle.hpp"#include "EBGeometry_TriangleDistance.hpp"#include "EBGeometry_Vec.hpp"#include "EBGeometry_TriangleSoAImplem.hpp"

Go to the source code of this file.
Classes | |
| struct | EBGeometry::TriangleSoAT< T, W > |
| SoA (Structure of Arrays) layout for W triangles, enabling SIMD evaluation. More... | |
| struct | EBGeometry::TriangleSoAT< T, W >::LaneSource< V > |
| The triangle accessor TriangleDistance::signedDistance() reads lanes [m_offset, m_offset + lanes of V) through: V = T reads one lane, V = SIMD::Pack<T, N> loads N lanes (m_offset a multiple of N, so the loads are aligned). More... | |
Namespaces | |
| namespace | EBGeometry |
| Namespace containing all of EBGeometry's functionality. | |
| namespace | EBGeometry::TriangleSoA |
| Namespace for TriangleSoAT-related compile-time utilities. | |
Functions | |
| template<typename T > | |
| constexpr size_t | EBGeometry::TriangleSoA::HostWidth () noexcept |
| The SoA width W (triangles per TriangleSoAT group) that fills one SIMD register for type T under the compiler's SIMD flags. | |
| template<typename T > | |
| constexpr size_t | EBGeometry::TriangleSoA::DefaultWidth () noexcept |
| The default SoA width W (triangles per TriangleSoAT group): 4, or HostWidth<T>() in a build that defines EBGEOMETRY_HOST_TUNED_DEFAULTS. | |
Declaration of SoA triangle group for SIMD signed-distance evaluation.