Skip to content

Releases: sebastienrousseau/vrd

Random (VRD) 🦀 v0.0.8

27 Aug 16:11
846795a
Compare
Choose a tag to compare

Release v0.0.8 - 2024-08-27

Random (VRD) logo

Random (VRD)

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

Made With Love Crates.io lib.rs Docs.rs Codecov Build Status GitHub

divider

WebsiteDocumentationReport Bug
Request FeatureContributing Guidelines

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.

Random (VRD) 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.

Changelog 📚

Merge pull request #66 from sebastienrousseau/feat/vrd

What's Changed

Full Changelog: v0.0.7...v0.0.8

Random (VRD) 🦀 v0.0.7

04 May 16:20
42b7302
Compare
Choose a tag to compare

Release v0.0.7 - 2024-05-04 - May the 4th Be With You !

Random (VRD) logo

Random (VRD) v0.0.7 🦀

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 Mersenne Twister is a pseudorandom number generator (PRNG) that is often used in computer simulations and games. It is a fast and reliable PRNG.

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.
  • Design for speed and efficiency in mind.
  • Generate random 32-bit unsigned integer 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.

Changelog 📚

This release includes several improvements, bug fixes, and new features to the vrd crate. Here's a summary of the changes:

Features

  • Added MersenneTwisterConfig struct along with corresponding tests. This struct provides configuration options for the Mersenne Twister RNG.

Bug Fixes

  • Fixed CI jobs and added new ones to ensure better reliability of the CI pipeline.
  • Resolved an issue where gen keyword conflicted with the 2024 edition, now using r#gen as a raw identifier.

Documentation

  • Updated examples documentation and sorted them for better clarity.
  • Improved log_entry_async function and updated unit tests accordingly.
  • Updated crate example code and documentation, along with the addition of new functions.

Tests

  • Added new test case test_new_custom_invalid_parameters to ensure robustness of custom parameter handling.
  • Expanded test coverage for random.rs module to enhance reliability and correctness.

Style

  • Fixed formatting issues and applied consistent code styling throughout the project.

Merge pull request #41 from sebastienrousseau/feat/vrd

What's Changed

Random (VRD) v0.0.6

10 Mar 09:23
ef11871
Compare
Choose a tag to compare

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

Random (VRD) 🦀 v0.0.5

26 Dec 00:23
1a803db
Compare
Choose a tag to compare

Release v0.0.5 - 2023-12-26

Random (VRD) logo

Random (VRD) v0.0.5 🦀

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 Mersenne Twister is a pseudorandom number generator (PRNG) that is often used in computer simulations and games. It is a fast and reliable PRNG.

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.
  • Design for speed and efficiency in mind.
  • Generate random 32-bit unsigned integer 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.

Changelog 📚

Merge pull request #12 from sebastienrousseau/feat/vrd

What's Changed

Full Changelog: v0.0.4...v0.0.5

Random (VRD) 🦀 v0.0.4

11 May 14:17
08cc87e
Compare
Choose a tag to compare

Release v0.0.4 - 2023-05-11

Random (VRD) logo

Random (VRD) v0.0.4 🦀

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 Mersenne Twister is a pseudorandom number generator (PRNG) that is often used in computer simulations and games. It is a fast and reliable PRNG.

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.
  • Design for speed and efficiency in mind.
  • Generate random 32-bit unsigned integer 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.

Changelog 📚

  • Merge pull request #6 from sebastienrousseau/feat/vrd
  • test(vrd): increasing unit test coverage and various fixes by @sebastienrousseau in #6

Full Changelog: v0.0.3...v0.0.4

Random (VRD) 🦀 v0.0.3

10 May 18:41
750e36c
Compare
Choose a tag to compare

Release v0.0.3 - 2023-05-10

Random (VRD) logo

Random (VRD) v0.0.3 🦀

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 Mersenne Twister is a pseudorandom number generator (PRNG) that is often used in computer simulations and games. It is a fast and reliable PRNG.

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.
  • Design for speed and efficiency in mind.
  • Generate random 32-bit unsigned integer 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.

Changelog 📚

Full Changelog: v0.0.2...v0.0.3

Random (VRD) 🦀 v0.0.2

05 May 07:47
6870fd2
Compare
Choose a tag to compare

Release v0.0.2 - 2023-05-05

Random (VRD) logo

Random (VRD)

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 Bug
Request FeatureContributing Guidelines

divider

Overview 📖

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

The Mersenne Twister is a pseudorandom number generator (PRNG) that is
often used in computer simulations and games. It is a fast and reliable
PRNG.

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.
  • Design for speed and efficiency in mind.
  • Generate random 32-bit unsigned integer 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.

Getting Started 🚀

It takes just a few minutes to get up and running with Random (VRD).

Installation

To install Random (VRD), you need to have the Rust toolchain installed
on your machine. You can install the Rust toolchain by following the
instructions on the Rust website.

Once you have the Rust toolchain installed, you can install
Random (VRD) using the following command:

cargo install vrd

You can then run the help command to see the available options:

vrd --help

Requirements

The minimum supported Rust toolchain version is currently Rust
1.69.0 or later (stable). It is recommended that you install the
latest stable version of Rust.

Platform support

Random (VRD) is supported and tested on the following platforms:

Tier 1 platforms 🏆

Operating System Target Description
Linux aarch64-unknown-linux-gnu 64-bit Linux systems on ARM architecture
Linux i686-unknown-linux-gnu 32-bit Linux (kernel 3.2+, glibc 2.17+)
Linux x86_64-unknown-linux-gnu 64-bit Linux (kernel 2.6.32+, glibc 2.11+)
macOS x86_64-apple-darwin 64-bit macOS (10.7 Lion or later)
Windows i686-pc-windows-gnu 32-bit Windows (7 or later)
Windows i686-pc-windows-msvc 32-bit Windows (7 or later)
Windows x86_64-pc-windows-gnu 64-bit Windows (7 or later)
Windows x86_64-pc-windows-msvc 64-bit Windows (7 or later)

Tier 2 platforms 🥈

Operating System Target Description
Linux aarch64-unknown-linux-musl 64-bit Linux systems on ARM architecture
Linux arm-unknown-linux-gnueabi ARMv6 Linux (kernel 3.2, glibc 2.17)
Linux arm-unknown-linux-gnueabihf ARMv7 Linux, hardfloat (kernel 3.2, glibc 2.17)
Linux armv7-unknown-linux-gnueabihf ARMv7 Linux, hardfloat (kernel 3.2, glibc 2.17)
Linux mips-unknown-linux-gnu MIPS Linux (kernel 2.6.32+, glibc 2.11+)
Linux mips64-unknown-linux-gnuabi64 MIPS64 Linux (kernel 2.6.32+, glibc 2.11+)
Linux mips64el-unknown-linux-gnuabi64 MIPS64 Linux (kernel 2.6.32+, glibc 2.11+)
Linux mipsel-unknown-linux-gnu MIPS Linux (kernel 2.6.32+, glibc 2.11+)
macOS aarch64-apple-darwin 64-bit macOS (10.7 Lion or later)
Windows aarch64-pc-windows-msvc 64-bit Windows (7 or later)

The GitHub Actions shows the platforms in which the Random (VRD)
library tests are run.

Documentation

ℹ️ Info: Please check out our website for more information.
You can find our documentation on docs.rs, lib.rs and
crates.io.

Usage 📖

To use the Random (VRD) library in your project, add the following to
your Cargo.toml file:

[dependencies]
vrd = "0.0.2"

Add the following to your main.rs file:

extern crate vrd;
use vrd::*;

then you can use the functions in your application code.

Examples

To get started with Random (VRD), you can use the examples provided in
the examples directory of the project.

To run the examples, clone the repository and run the following command
in your terminal from the project root directory.

cargo run --example vrd

Semantic Versioning Policy 🚥

For transparency into our release cycle and in striving to maintain
backward compatibility, Random (VRD) follows semantic versioning.

License 📝

The project is licensed under the terms of both the MIT license and the
Apache License (Version 2.0).

Contribution 🤝

We welcome all people who want to contribute. Please see the
contributing instructions for more information.

Contributions in any form (issues, pull requests, etc.) to this project
must adhere to the Rust's Code of Conduct.

Unless you explicitly state otherwise, any contribution intentionally
submitted for inclusion in the work by you, as defined in the
Apache-2.0 license, shall be dual licensed as above, without any
additional terms or conditions.

Acknowledgements 💙

A big thank you to all the awesome contributors of vrd for their
help and support.

A special thank you goes to the Rust Reddit community for
providing a lot of useful suggestions on how to improve this project.

Changelog 📚

What's Changed

New Contributors

Full Changelog: https://github.com/sebastienrousseau/vrd/commits/v0.0.2