Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
shamtree::details::DTTCpuReference< Tmorton, Tvec, dim > Struct Template Reference

Public Types

using Tscal = shambase::VecComponent<Tvec>
using ObjItHost = shamtree::CLBVHObjectIteratorHost<Tmorton, Tvec, dim>
using ObjItHostAcc = typename ObjItHost::acc

Static Public Member Functions

static bool mac (shammath::AABB< Tvec > a, shammath::AABB< Tvec > b, Tscal theta_crit)
template<bool allow_leaf_lowering>
static void dtt_recursive_internal (u32 cell_a, u32 cell_b, const ObjItHostAcc &acc, Tscal theta_crit, std::vector< u32_2 > &interact_m2l, std::vector< u32_2 > &interact_p2p)
 We make the assumption that the root is not a leaf.
static void dtt_recursive_ref (const shamtree::CompressedLeafBVH< Tmorton, Tvec, dim > &bvh, Tscal theta_crit, std::vector< u32_2 > &interact_m2l, std::vector< u32_2 > &interact_p2p, bool allow_leaf_lowering)
static shamtree::DTTResult dtt (sham::DeviceScheduler_ptr dev_sched, const shamtree::CompressedLeafBVH< Tmorton, Tvec, dim > &bvh, shambase::VecComponent< Tvec > theta_crit, bool ordered_result, bool allow_leaf_lowering)

Detailed Description

template<class Tmorton, class Tvec, u32 dim>
struct shamtree::details::DTTCpuReference< Tmorton, Tvec, dim >

Definition at line 29 of file dtt_reference.hpp.

Member Typedef Documentation

◆ ObjItHost

template<class Tmorton, class Tvec, u32 dim>
using shamtree::details::DTTCpuReference< Tmorton, Tvec, dim >::ObjItHost = shamtree::CLBVHObjectIteratorHost<Tmorton, Tvec, dim>

Definition at line 33 of file dtt_reference.hpp.

◆ ObjItHostAcc

template<class Tmorton, class Tvec, u32 dim>
using shamtree::details::DTTCpuReference< Tmorton, Tvec, dim >::ObjItHostAcc = typename ObjItHost::acc

Definition at line 34 of file dtt_reference.hpp.

◆ Tscal

template<class Tmorton, class Tvec, u32 dim>
using shamtree::details::DTTCpuReference< Tmorton, Tvec, dim >::Tscal = shambase::VecComponent<Tvec>

Definition at line 31 of file dtt_reference.hpp.

Member Function Documentation

◆ dtt()

template<class Tmorton, class Tvec, u32 dim>
shamtree::DTTResult shamtree::details::DTTCpuReference< Tmorton, Tvec, dim >::dtt ( sham::DeviceScheduler_ptr dev_sched,
const shamtree::CompressedLeafBVH< Tmorton, Tvec, dim > & bvh,
shambase::VecComponent< Tvec > theta_crit,
bool ordered_result,
bool allow_leaf_lowering )
inlinestatic

Definition at line 155 of file dtt_reference.hpp.

◆ dtt_recursive_internal()

template<class Tmorton, class Tvec, u32 dim>
template<bool allow_leaf_lowering>
void shamtree::details::DTTCpuReference< Tmorton, Tvec, dim >::dtt_recursive_internal ( u32 cell_a,
u32 cell_b,
const ObjItHostAcc & acc,
Tscal theta_crit,
std::vector< u32_2 > & interact_m2l,
std::vector< u32_2 > & interact_p2p )
inlinestatic

We make the assumption that the root is not a leaf.

Definition at line 42 of file dtt_reference.hpp.

Here is the call graph for this function:

◆ dtt_recursive_ref()

template<class Tmorton, class Tvec, u32 dim>
void shamtree::details::DTTCpuReference< Tmorton, Tvec, dim >::dtt_recursive_ref ( const shamtree::CompressedLeafBVH< Tmorton, Tvec, dim > & bvh,
Tscal theta_crit,
std::vector< u32_2 > & interact_m2l,
std::vector< u32_2 > & interact_p2p,
bool allow_leaf_lowering )
inlinestatic

We make the assumption that the root is not a leaf in this function

Definition at line 127 of file dtt_reference.hpp.

Here is the call graph for this function:

◆ mac()

template<class Tmorton, class Tvec, u32 dim>
bool shamtree::details::DTTCpuReference< Tmorton, Tvec, dim >::mac ( shammath::AABB< Tvec > a,
shammath::AABB< Tvec > b,
Tscal theta_crit )
inlinestatic

Definition at line 36 of file dtt_reference.hpp.


The documentation for this struct was generated from the following file: