![]() |
alpaka
Abstraction Library for Parallel Kernel Acceleration
|
Classes | |
| struct | BitLengthConformityAdapter |
| Adapt the bit length of the engine output to match the target type. More... | |
| struct | BitLengthConformityAdapter< T_Engine, 4u, 8u > |
| Adapts a 32-bit engine output to a 64-bit value. More... | |
| struct | BitLengthConformityAdapter< T_Engine, 8u, 4u > |
| Adapt a 64-bit engine output to a 32-bit value. More... | |
| struct | BoxMuller |
| Scalar Box-Muller transform for floating-point types. More... | |
| struct | Constants |
| Contains some (constexpr-)constants for random bit integer to floating point conversion – which improve readability. More... | |
| struct | IntervalAwareConversion |
| Convert an integer RNG result to a floating-point value. More... | |
| struct | IntervalAwareConversion< T_Engine, interval::CC, T_Integer, T_Floating > |
| Converts an integer RNG output to a floating point type in the closed interval [0, 1]. More... | |
| struct | IntervalAwareConversion< T_Engine, interval::CO, T_Integer, T_Floating > |
| Converts an integer RNG output to a floating-point type in the interval [0, 1). More... | |
| struct | IntervalAwareConversion< T_Engine, interval::OC, T_Integer, T_Floating > |
| Convert an integer RNG output to a floating-point type in the interval (0, 1]. More... | |
| struct | IntervalAwareConversion< T_Engine, interval::OO, T_Integer, T_Floating > |
| Convert an integer RNG output to a floating-point type in the interval (0, 1). More... | |
| class | UniformRealBase |
| struct | vectorDispatchWrapper |
| struct | vectorDispatchWrapper< T_Engine, 4u, TElemSize, TElems > |
| struct | vectorDispatchWrapper< T_Engine, 8u, 4u, TElems > |
| Wrapper specialization enabling efficient generation of 64-bit values from vectorized engines without requiring two engine calls. More... | |
Functions | |
| template<concepts::Interval T_Interval, std::floating_point T_Result, typename T_Engine> | |
| constexpr auto | getNormalizedUniformReal (T_Engine &engine) -> T_Result |
| Generate a floating-point value in the requested interval. | |
| template<std::floating_point T_Floating> | |
| consteval T_Floating | prevOne () noexcept |
| Returns a constant, which is equivalent to std::nextafter(T_Floating{1}, T_Floating{0}) or more specifically: returns the highest floating-point value lower than one. | |
|
constexpr |
Generate a floating-point value in the requested interval.
Adapts the engine output to the required bit length and converts the integer to a normalized floating point value in the requested interval
Definition at line 168 of file UniformReal.hpp.
|
constevalnoexcept |
Returns a constant, which is equivalent to std::nextafter(T_Floating{1}, T_Floating{0}) or more specifically: returns the highest floating-point value lower than one.
There does not seem to exist a representation of this particular floating-point number in std::numerical_limits and std::nextafter is not constexpr(cpp20).
Definition at line 19 of file UniformReal.hpp.