Skip to content

Random (VRD) v0.0.6

Compare
Choose a tag to compare
@github-actions github-actions released this 10 Mar 09:23
ef11871

Release v0.0.6 - 2024-03-10

Random (VRD) logo

Random (VRD) v0.0.6 🦀

A Rust library for generating high-quality random numbers based on the Mersenne Twister algorithm.

Part of the Mini Functions family of libraries.

Random (VRD) Banner

Made With Rust Crates.io Lib.rs Docs.rs License

WebsiteDocumentationReport BugRequest FeatureContributing Guidelines

divider

Overview 📖

Random (VRD) is a Rust library for generating high-quality random numbers
based on the Mersenne Twister algorithm.

The Random struct in this library provides a robust interface for generating
a variety of random numbers using the Mersenne Twister algorithm. Additionally,
the MersenneTwisterConfig struct allows for advanced configuration of the
algorithm.

The Random (VRD) is used to generate random numbers using the Mersenne Twister
algorithm. It generates pseudorandom integers uniformly distributed in
0..(2^32 - 1) starting from any odd seed in 0..(2^32 - 1).

The index is incremented after each random number is generated. When the index
reaches 624, the array is reinitialized and the index is reset to 0.

Features ✨

  • Create new random number generator and seed it with a value
  • Designed for speed and efficiency
  • Generate random 32-bit unsigned integers within a given range
  • Provide random numbers of different types, including booleans, bytes, chars,
    doubles, floats, integers, and unsigned integers
  • Mutate the state of the random number generator
  • Produce pseudo-random number sequences that are different from each other
  • Regulate the randomness of the generated numbers, including the seed value
    and the number of bits used
  • Select a random element from a slice of values
  • Generate random numbers from various probability distributions, including
    uniform, normal, exponential, and Poisson

Changelog 📚

ci(vrd): 🚑 various ci tweaks

What's Changed

  • feat(vrd): ✨ Initial commit v0.0.6 by @sebastienrousseau in #29
  • Merge pull request #12 from sebastienrousseau/feat/vrd
  • Merge pull request #29 from sebastienrousseau/feat/vrd
  • ci(vrd): 🚑 Replace unmaintained actions-rs GH actions
  • ci(vrd): 🚑 dependencies updates
  • ci(vrd): 🚑 run with --locked
  • ci(vrd): 🚑 testing with nightly
  • ci(vrd): 🚑 tokio dependency
  • ci(vrd): 🚑 various ci tweaks
  • docs(vrd): 📝 updated README.md
  • feat(vrd): ✨ Add MersenneTwisterConfig struct with customizable parameters and validation
  • feat(vrd): ✨ Initial commit v0.0.6
  • feat(vrd): ✨ Separate the Random struct and its implementation into a dedicated module file
  • feat(vrd): ✨ added new macros
  • feat(vrd): ✨ added rand_poisson!() macro and relevant test
  • feat(vrd): ✨ adding support for generating random numbers from different probability distributions, such as normal distribution, exponential distribution, and Poisson distribution
  • feat(vrd): ✨ refactoring main.rs
  • feat(vrd): ✨ serialize and deserialize the state of the Random struct using the serde crate
  • fix(vrd): 🚑 Failed quality gates
  • fix(vrd): 🚑 Failed quality gates and wrong domain url
  • fix(vrd): 🚑 add cargo clean; cargo build
  • fix(vrd): 🚑 add rustup update
  • fix(vrd): 🚑 ci tweaks
  • fix(vrd): 🚑 error: manual RangeInclusive::contains implementation
  • fix(vrd): 🚑 run cargo update
  • fix(vrd): 🔥 remove lock
  • style(vrd): 💄 code formatting

Full Changelog: v0.0.5...v0.0.6