|
MT Core (C++)
Core library for replacing C++ standard in project usage
|
#include <cmath>#include <limits>#include "mtcore/alloc.hpp"#include "mtcore/colls/result.hpp"#include "mtcore/core.hpp"#include <cstdint>

Go to the source code of this file.
Classes | |
| struct | mtcore::PrngState |
| Internal PRNG state. More... | |
| struct | mtcore::PrngVTable |
| V-Table for PRNG Designed for having a simple PRNG implementation. More... | |
| struct | mtcore::Prng |
| Represents a Pseudo Random Number Generator. More... | |
Namespaces | |
| namespace | mtcore |
| Core library for C++ with Zig-related functionality. | |
Typedefs | |
| using | mtcore::SeedError = int |
| Seeding errors can vary differently, using an int to indicate the error code. | |
Enumerations | |
| enum class | mtcore::Mt19937_64Error { mtcore::Mt19937_64Error::ALLOCATION_FAILED , mtcore::Mt19937_64Error::MT19937_BAD_INIT } |
| Errors that can happen when making a Mersenne Twister. More... | |
Functions | |
| Prng | mtcore::tinymt_init (uint64_t seed) noexcept |
| Initializes a PRNG based on the TinyMT variant of Mersenne Twister. | |
| Prng | mtcore::lcg_init (uint64_t seed) noexcept |
| Initializes a Linear Congruential Generator NOTE: THIS IS NOT A GOOD PRNG (it's essentially rand()) | |
| Result< Prng, Mt19937_64Error > | mtcore::mt19937_64 (Allocator *alloc, uint64_t seed) noexcept |
| Initializes a Mersenne Twister 19937-64 algorithm Note: This does require allocated memory. | |