![]() |
OpenSWMM Engine
6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
|
Functions | |
| void | add (const double *OPENSWMM_RESTRICT a, const double *OPENSWMM_RESTRICT b, double *OPENSWMM_RESTRICT dst, std::size_t n) noexcept |
| Element-wise addition: dst[i] = a[i] + b[i]. | |
| void | multiply (const double *OPENSWMM_RESTRICT a, const double *OPENSWMM_RESTRICT b, double *OPENSWMM_RESTRICT dst, std::size_t n) noexcept |
| Element-wise multiplication: dst[i] = a[i] * b[i]. | |
| double | min (const double *a, std::size_t n) noexcept |
| Find the minimum value in an array. | |
| double | max (const double *a, std::size_t n) noexcept |
| Find the maximum value in an array. | |
| void | clamp (double *a, double lo, double hi, std::size_t n) noexcept |
| Clamp all elements of an array to [lo, hi]. | |
| double | dot (const double *OPENSWMM_RESTRICT a, const double *OPENSWMM_RESTRICT b, std::size_t n) noexcept |
| Dot product of two arrays: sum(a[i] * b[i]). | |
| constexpr std::size_t | lane_width () noexcept |
| Returns the SIMD lane width (doubles per register on this platform). | |
|
inlinenoexcept |
Element-wise addition: dst[i] = a[i] + b[i].
| a | Source array A. |
| b | Source array B. |
| dst | Destination array. |
| n | Number of elements. Need not be a multiple of the SIMD width. |
|
inlinenoexcept |
Clamp all elements of an array to [lo, hi].
| a | Array to clamp in-place. |
| lo | Lower bound. |
| hi | Upper bound. |
| n | Number of elements. |
|
inlinenoexcept |
Dot product of two arrays: sum(a[i] * b[i]).
| a | Array A. |
| b | Array B. |
| n | Number of elements. |
|
constexprnoexcept |
Returns the SIMD lane width (doubles per register on this platform).
|
inlinenoexcept |
Find the maximum value in an array.
|
inlinenoexcept |
Find the minimum value in an array.
| a | Array of doubles. |
| n | Number of elements. Must be >= 1. |
|
inlinenoexcept |
Element-wise multiplication: dst[i] = a[i] * b[i].