occ
Loading...
Searching...
No Matches
occ::mults::kernel_detail::HermiteAddTable< MaxL > Struct Template Reference

Precomputed hermite_index addition tables for contraction hot paths. More...

#include <cartesian_kernels.h>

Public Member Functions

constexpr HermiteAddTable ()
 

Public Attributes

int energy [N][N]
 
int force_x [N][N]
 
int force_y [N][N]
 
int force_z [N][N]
 

Static Public Attributes

static constexpr int N = nhermsum(MaxL)
 

Detailed Description

template<int MaxL>
struct occ::mults::kernel_detail::HermiteAddTable< MaxL >

Precomputed hermite_index addition tables for contraction hot paths.

For each pair of hermite indices (i, j), stores the combined index hermite_index(ta+tb, ua+ub, va+vb) and the three shifted-index variants for force gradients. Replaces ~10 integer ops per hermite_index call with a single array lookup.

Table size: N×N × 4 × 4 bytes. For MaxL=4: 35×35×16 = ~19KB (fits in L1).

Constructor & Destructor Documentation

◆ HermiteAddTable()

template<int MaxL>
constexpr occ::mults::kernel_detail::HermiteAddTable< MaxL >::HermiteAddTable ( )
inlineconstexpr

Member Data Documentation

◆ energy

template<int MaxL>
int occ::mults::kernel_detail::HermiteAddTable< MaxL >::energy[N][N]

◆ force_x

template<int MaxL>
int occ::mults::kernel_detail::HermiteAddTable< MaxL >::force_x[N][N]

◆ force_y

template<int MaxL>
int occ::mults::kernel_detail::HermiteAddTable< MaxL >::force_y[N][N]

◆ force_z

template<int MaxL>
int occ::mults::kernel_detail::HermiteAddTable< MaxL >::force_z[N][N]

◆ N

template<int MaxL>
constexpr int occ::mults::kernel_detail::HermiteAddTable< MaxL >::N = nhermsum(MaxL)
staticconstexpr

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