template<typename T = float>
liarsdice::performance::SimdDiceProbability class

SIMD-optimized dice probability calculations.

Public types

using batch_type = xsimd::batch<T>

Public static variables

static std::size_t simd_size constexpr

Public static functions

static auto batch_probability(std::span<const int> total_dice, std::span<const int> k_values, std::span<const int> face_values) -> std::vector<T>
Batch calculate probabilities for multiple scenarios.

Function documentation

template<typename T>
static std::vector<T> liarsdice::performance::SimdDiceProbability<T>::batch_probability(std::span<const int> total_dice, std::span<const int> k_values, std::span<const int> face_values)

Batch calculate probabilities for multiple scenarios.

Parameters
total_dice Vector of total dice counts
k_values Vector of minimum dice requirements
face_values Vector of face values
Returns Vector of probabilities