|
Marine systems simulation
|
#include <AiryWavesSimd.h>
Public Attributes | |
| std::array< xsimd::batch< double >, kMaxBatches > | angle |
| Phase angle for each batch. | |
| std::array< xsimd::batch< double >, kMaxBatches > | sin_angle |
| Sine of phase angle for each batch. | |
| std::array< xsimd::batch< double >, kMaxBatches > | cos_angle |
| Cosine of phase angle for each batch. | |
| std::array< xsimd::batch< double >, kMaxBatches > | expk |
| 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. | |
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.