Marine systems simulation
Loading...
Searching...
No Matches
marenv::wave::AiryWavesSimd::WaveDynamicStack Struct Reference

#include <AiryWavesSimd.h>

Public Attributes

std::array< xsimd::batch< double >, kMaxBatchesangle
 Phase angle for each batch.
 
std::array< xsimd::batch< double >, kMaxBatchessin_angle
 Sine of phase angle for each batch.
 
std::array< xsimd::batch< double >, kMaxBatchescos_angle
 Cosine of phase angle for each batch.
 
std::array< xsimd::batch< double >, kMaxBatchesexpk
 Exponential depth decay for each batch.
 
int nbatches = 0
 Number of active batches (set each fill).
 

Static Public Attributes

static constexpr int kMaxWaves = 52
 Maximum supported wave components per computation.
 
static constexpr int kBatchSize = static_cast<int>(xsimd::batch<double>::size)
 SIMD batch width (architecture-dependent).
 
static constexpr int kMaxBatches = (kMaxWaves + kBatchSize - 1) / kBatchSize
 Maximum SIMD batches needed for kMaxWaves.
 

Detailed Description

Stack-allocated dynamic SIMD data. Pre-allocated once and reused across

Compute* calls to avoid repeated heap allocation. The maximum number of wave components and SIMD batches are fixed at compile time.


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