This is a small origin shift algorithm (for generating mazes) that I wrote.
This repository has been archived on 2025-06-21. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
Find a file
Renovate Bot a7170fd644
Some checks failed
builder / build (push) Failing after 47s
fix(deps): update rust crate rand to 0.9.0 (#67)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [rand](https://rust-random.github.io/book) ([source](https://github.com/rust-random/rand)) | dependencies | minor | `0.8.5` -> `0.9.0` |

---

### Release Notes

<details>
<summary>rust-random/rand (rand)</summary>

### [`v0.9.1`](https://github.com/rust-random/rand/blob/HEAD/CHANGELOG.md#091---2025-04-17)

[Compare Source](https://github.com/rust-random/rand/compare/0.9.0...0.9.1)

##### Security and unsafe

-   Revise "not a crypto library" policy again ([#&#8203;1565](https://github.com/rust-random/rand/issues/1565))
-   Remove `zerocopy` dependency from `rand` ([#&#8203;1579](https://github.com/rust-random/rand/issues/1579))

##### Fixes

-   Fix feature `simd_support` for recent nightly rust ([#&#8203;1586](https://github.com/rust-random/rand/issues/1586))

##### Changes

-   Allow `fn rand::seq::index::sample_weighted` and `fn IndexedRandom::choose_multiple_weighted` to return fewer than `amount` results ([#&#8203;1623](https://github.com/rust-random/rand/issues/1623)), reverting an undocumented change ([#&#8203;1382](https://github.com/rust-random/rand/issues/1382)) to the previous release.

##### Additions

-   Add `rand::distr::Alphabetic` distribution. ([#&#8203;1587](https://github.com/rust-random/rand/issues/1587))
-   Re-export `rand_core` ([#&#8203;1604](https://github.com/rust-random/rand/issues/1604))

### [`v0.9.0`](https://github.com/rust-random/rand/blob/HEAD/CHANGELOG.md#090---2025-01-27)

[Compare Source](https://github.com/rust-random/rand/compare/0.8.5...0.9.0)

##### Security and unsafe

-   Policy: "rand is not a crypto library" ([#&#8203;1514](https://github.com/rust-random/rand/issues/1514))
-   Remove fork-protection from `ReseedingRng` and `ThreadRng`. Instead, it is recommended to call `ThreadRng::reseed` on fork. ([#&#8203;1379](https://github.com/rust-random/rand/issues/1379))
-   Use `zerocopy` to replace some `unsafe` code ([#&#8203;1349](https://github.com/rust-random/rand/issues/1349), [#&#8203;1393](https://github.com/rust-random/rand/issues/1393), [#&#8203;1446](https://github.com/rust-random/rand/issues/1446), [#&#8203;1502](https://github.com/rust-random/rand/issues/1502))

##### Dependencies

-   Bump the MSRV to 1.63.0 ([#&#8203;1207](https://github.com/rust-random/rand/issues/1207), [#&#8203;1246](https://github.com/rust-random/rand/issues/1246), [#&#8203;1269](https://github.com/rust-random/rand/issues/1269), [#&#8203;1341](https://github.com/rust-random/rand/issues/1341), [#&#8203;1416](https://github.com/rust-random/rand/issues/1416), [#&#8203;1536](https://github.com/rust-random/rand/issues/1536)); note that 1.60.0 may work for dependents when using `--ignore-rust-version`
-   Update to `rand_core` v0.9.0 ([#&#8203;1558](https://github.com/rust-random/rand/issues/1558))

##### Features

-   Support `std` feature without `getrandom` or `rand_chacha` ([#&#8203;1354](https://github.com/rust-random/rand/issues/1354))
-   Enable feature `small_rng` by default ([#&#8203;1455](https://github.com/rust-random/rand/issues/1455))
-   Remove implicit feature `rand_chacha`; use `std_rng` instead. ([#&#8203;1473](https://github.com/rust-random/rand/issues/1473))
-   Rename feature `serde1` to `serde` ([#&#8203;1477](https://github.com/rust-random/rand/issues/1477))
-   Rename feature `getrandom` to `os_rng` ([#&#8203;1537](https://github.com/rust-random/rand/issues/1537))
-   Add feature `thread_rng` ([#&#8203;1547](https://github.com/rust-random/rand/issues/1547))

##### API changes: rand_core traits

-   Add fn `RngCore::read_adapter` implementing `std::io::Read` ([#&#8203;1267](https://github.com/rust-random/rand/issues/1267))
-   Add trait `CryptoBlockRng: BlockRngCore`; make `trait CryptoRng: RngCore` ([#&#8203;1273](https://github.com/rust-random/rand/issues/1273))
-   Add traits `TryRngCore`, `TryCryptoRng` ([#&#8203;1424](https://github.com/rust-random/rand/issues/1424), [#&#8203;1499](https://github.com/rust-random/rand/issues/1499))
-   Rename `fn SeedableRng::from_rng` -> `try_from_rng` and add infallible variant `fn from_rng` ([#&#8203;1424](https://github.com/rust-random/rand/issues/1424))
-   Rename `fn SeedableRng::from_entropy` -> `from_os_rng` and add fallible variant `fn try_from_os_rng` ([#&#8203;1424](https://github.com/rust-random/rand/issues/1424))
-   Add bounds `Clone` and `AsRef` to associated type `SeedableRng::Seed` ([#&#8203;1491](https://github.com/rust-random/rand/issues/1491))

##### API changes: Rng trait and top-level fns

-   Rename fn `rand::thread_rng()` to `rand::rng()` and remove from the prelude ([#&#8203;1506](https://github.com/rust-random/rand/issues/1506))
-   Remove fn `rand::random()` from the prelude ([#&#8203;1506](https://github.com/rust-random/rand/issues/1506))
-   Add top-level fns `random_iter`, `random_range`, `random_bool`, `random_ratio`, `fill` ([#&#8203;1488](https://github.com/rust-random/rand/issues/1488))
-   Re-introduce fn `Rng::gen_iter` as `random_iter` ([#&#8203;1305](https://github.com/rust-random/rand/issues/1305), [#&#8203;1500](https://github.com/rust-random/rand/issues/1500))
-   Rename fn `Rng::gen` to `random` to avoid conflict with the new `gen` keyword in Rust 2024 ([#&#8203;1438](https://github.com/rust-random/rand/issues/1438))
-   Rename fns `Rng::gen_range` to `random_range`, `gen_bool` to `random_bool`, `gen_ratio` to `random_ratio` ([#&#8203;1505](https://github.com/rust-random/rand/issues/1505))
-   Annotate panicking methods with `#[track_caller]` ([#&#8203;1442](https://github.com/rust-random/rand/issues/1442), [#&#8203;1447](https://github.com/rust-random/rand/issues/1447))

##### API changes: RNGs

-   Fix `<SmallRng as SeedableRng>::Seed` size to 256 bits ([#&#8203;1455](https://github.com/rust-random/rand/issues/1455))
-   Remove first parameter (`rng`) of `ReseedingRng::new` ([#&#8203;1533](https://github.com/rust-random/rand/issues/1533))

##### API changes: Sequences

-   Split trait `SliceRandom` into `IndexedRandom`, `IndexedMutRandom`, `SliceRandom` ([#&#8203;1382](https://github.com/rust-random/rand/issues/1382))
-   Add `IndexedRandom::choose_multiple_array`, `index::sample_array` ([#&#8203;1453](https://github.com/rust-random/rand/issues/1453), [#&#8203;1469](https://github.com/rust-random/rand/issues/1469))

##### API changes: Distributions: renames

-   Rename module `rand::distributions` to `rand::distr` ([#&#8203;1470](https://github.com/rust-random/rand/issues/1470))
-   Rename distribution `Standard` to `StandardUniform` ([#&#8203;1526](https://github.com/rust-random/rand/issues/1526))
-   Move `distr::Slice` -> `distr::slice::Choose`, `distr::EmptySlice` -> `distr::slice::Empty` ([#&#8203;1548](https://github.com/rust-random/rand/issues/1548))
-   Rename trait `distr::DistString` -> `distr::SampleString` ([#&#8203;1548](https://github.com/rust-random/rand/issues/1548))
-   Rename `distr::DistIter` -> `distr::Iter`, `distr::DistMap` -> `distr::Map` ([#&#8203;1548](https://github.com/rust-random/rand/issues/1548))

##### API changes: Distributions

-   Relax `Sized` bound on `Distribution<T> for &D` ([#&#8203;1278](https://github.com/rust-random/rand/issues/1278))
-   Remove impl of `Distribution<Option<T>>` for `StandardUniform` ([#&#8203;1526](https://github.com/rust-random/rand/issues/1526))
-   Let distribution `StandardUniform` support all `NonZero*` types ([#&#8203;1332](https://github.com/rust-random/rand/issues/1332))
-   Fns `{Uniform, UniformSampler}::{new, new_inclusive}` return a `Result` (instead of potentially panicking) ([#&#8203;1229](https://github.com/rust-random/rand/issues/1229))
-   Distribution `Uniform` implements `TryFrom` instead of `From` for ranges ([#&#8203;1229](https://github.com/rust-random/rand/issues/1229))
-   Add `UniformUsize` ([#&#8203;1487](https://github.com/rust-random/rand/issues/1487))
-   Remove support for generating `isize` and `usize` values with `StandardUniform`, `Uniform` (except via `UniformUsize`) and `Fill` and usage as a `WeightedAliasIndex` weight ([#&#8203;1487](https://github.com/rust-random/rand/issues/1487))
-   Add impl `DistString` for distributions `Slice<char>` and `Uniform<char>` ([#&#8203;1315](https://github.com/rust-random/rand/issues/1315))
-   Add fn `Slice::num_choices` ([#&#8203;1402](https://github.com/rust-random/rand/issues/1402))
-   Add fn `p()` for distribution `Bernoulli` to access probability ([#&#8203;1481](https://github.com/rust-random/rand/issues/1481))

##### API changes: Weighted distributions

-   Add `pub` module `rand::distr::weighted`, moving `WeightedIndex` there ([#&#8203;1548](https://github.com/rust-random/rand/issues/1548))
-   Add trait `weighted::Weight`, allowing `WeightedIndex` to trap overflow ([#&#8203;1353](https://github.com/rust-random/rand/issues/1353))
-   Add fns `weight, weights, total_weight` to distribution `WeightedIndex` ([#&#8203;1420](https://github.com/rust-random/rand/issues/1420))
-   Rename enum `WeightedError` to `weighted::Error`, revising variants ([#&#8203;1382](https://github.com/rust-random/rand/issues/1382)) and mark as `#[non_exhaustive]` ([#&#8203;1480](https://github.com/rust-random/rand/issues/1480))

##### API changes: SIMD

-   Switch to `std::simd`, expand SIMD & docs ([#&#8203;1239](https://github.com/rust-random/rand/issues/1239))

##### Reproducibility-breaking changes

-   Make `ReseedingRng::reseed` discard remaining data from the last block generated ([#&#8203;1379](https://github.com/rust-random/rand/issues/1379))
-   Change fn `SmallRng::seed_from_u64` implementation ([#&#8203;1203](https://github.com/rust-random/rand/issues/1203))
-   Allow `UniformFloat::new` samples and `UniformFloat::sample_single` to yield `high` ([#&#8203;1462](https://github.com/rust-random/rand/issues/1462))
-   Fix portability of distribution `Slice` ([#&#8203;1469](https://github.com/rust-random/rand/issues/1469))
-   Make `Uniform` for `usize` portable via `UniformUsize` ([#&#8203;1487](https://github.com/rust-random/rand/issues/1487))
-   Fix `IndexdRandom::choose_multiple_weighted` for very small seeds and optimize for large input length / low memory ([#&#8203;1530](https://github.com/rust-random/rand/issues/1530))

##### Reproducibility-breaking optimisations

-   Optimize fn `sample_floyd`, affecting output of `rand::seq::index::sample` and `rand::seq::SliceRandom::choose_multiple` ([#&#8203;1277](https://github.com/rust-random/rand/issues/1277))
-   New, faster algorithms for `IteratorRandom::choose` and `choose_stable` ([#&#8203;1268](https://github.com/rust-random/rand/issues/1268))
-   New, faster algorithms for `SliceRandom::shuffle` and `partial_shuffle` ([#&#8203;1272](https://github.com/rust-random/rand/issues/1272))
-   Optimize distribution `Uniform`: use Canon's method (single sampling) / Lemire's method (distribution sampling) for faster sampling (breaks value stability; [#&#8203;1287](https://github.com/rust-random/rand/issues/1287))
-   Optimize fn `sample_single_inclusive` for floats (+~20% perf) ([#&#8203;1289](https://github.com/rust-random/rand/issues/1289))

##### Other optimisations

-   Improve `SmallRng` initialization performance ([#&#8203;1482](https://github.com/rust-random/rand/issues/1482))
-   Optimise SIMD widening multiply ([#&#8203;1247](https://github.com/rust-random/rand/issues/1247))

##### Other

-   Add `Cargo.lock.msrv` file ([#&#8203;1275](https://github.com/rust-random/rand/issues/1275))
-   Reformat with `rustfmt` and enforce ([#&#8203;1448](https://github.com/rust-random/rand/issues/1448))
-   Apply Clippy suggestions and enforce ([#&#8203;1448](https://github.com/rust-random/rand/issues/1448), [#&#8203;1474](https://github.com/rust-random/rand/issues/1474))
-   Move all benchmarks to new `benches` crate ([#&#8203;1329](https://github.com/rust-random/rand/issues/1329), [#&#8203;1439](https://github.com/rust-random/rand/issues/1439)) and migrate to Criterion ([#&#8203;1490](https://github.com/rust-random/rand/issues/1490))

##### Documentation

-   Improve `ThreadRng` related docs ([#&#8203;1257](https://github.com/rust-random/rand/issues/1257))
-   Docs: enable experimental `--generate-link-to-definition` feature ([#&#8203;1327](https://github.com/rust-random/rand/issues/1327))
-   Better doc of crate features, use `doc_auto_cfg` ([#&#8203;1411](https://github.com/rust-random/rand/issues/1411), [#&#8203;1450](https://github.com/rust-random/rand/issues/1450))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMzYuMCIsInVwZGF0ZWRJblZlciI6IjM5LjI1MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Reviewed-on: #67
Co-authored-by: Renovate Bot <renovate@kjan.de>
Co-committed-by: Renovate Bot <renovate@kjan.de>
2025-04-26 08:14:00 +00:00
.gitea/workflows Update .gitea/workflows/CI.yaml 2025-01-14 11:35:21 +00:00
src Implement my small origin shift algorithm 2024-07-19 22:40:57 +02:00
.gitignore Implement my small origin shift algorithm 2024-07-19 22:40:57 +02:00
Cargo.lock fix(deps): update rust crate rand to 0.9.0 (#67) 2025-04-26 08:14:00 +00:00
Cargo.toml fix(deps): update rust crate rand to 0.9.0 (#67) 2025-04-26 08:14:00 +00:00
renovate.json Configure Renovate (#1) 2024-07-21 10:04:24 +00:00