|
occ
|
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) |
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).
|
inlineconstexpr |
| int occ::mults::kernel_detail::HermiteAddTable< MaxL >::energy[N][N] |
| int occ::mults::kernel_detail::HermiteAddTable< MaxL >::force_x[N][N] |
| int occ::mults::kernel_detail::HermiteAddTable< MaxL >::force_y[N][N] |
| int occ::mults::kernel_detail::HermiteAddTable< MaxL >::force_z[N][N] |
|
staticconstexpr |