PHPackages                             ruafozy/mersenne-twister - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. ruafozy/mersenne-twister

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

ruafozy/mersenne-twister
========================

Pure-PHP Mersenne Twister

2.0.0(3y ago)221.4M—0.3%6[1 PRs](https://github.com/ruafozy/php-mersenne-twister/pulls)11MITPHPPHP &gt;=7.3.0CI passing

Since Aug 4Pushed 3mo ago4 watchersCompare

[ Source](https://github.com/ruafozy/php-mersenne-twister)[ Packagist](https://packagist.org/packages/ruafozy/mersenne-twister)[ Docs](https://github.com/ruafozy/php-mersenne-twister)[ RSS](/packages/ruafozy-mersenne-twister/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (1)Versions (6)Used By (11)

Introduction
------------

[](#introduction)

This repository contains a PHP implementation of the Mersenne Twister. Documentation is [here](doc/doc.md).

Versioning
----------

[](#versioning)

This software uses [Semantic Versioning](http://semver.org/).

Notes
-----

[](#notes)

The code is not representative of how I currently write PHP, but the software is useful nonetheless. I have brought it into GitHub to make it easier for the community to contribute.

###  Health Score

50

—

FairBetter than 96% of packages

Maintenance53

Moderate activity, may be stable

Popularity49

Moderate usage in the ecosystem

Community23

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 50% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1051 days

Total

4

Last Release

1150d ago

Major Versions

1.3.0 → 2.0.02023-03-25

PHP version history (3 changes)1.1.1PHP &gt;= 5.3.0

1.2.0PHP &gt;=5.3.0

2.0.0PHP &gt;=7.3.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/ebb707c79334c2dfba7b4cb2a8f8a0807991c734dcfd1088bd0d430a2e4a822e?d=identicon)[ruafozy](/maintainers/ruafozy)

---

Top Contributors

[![ruafozy](https://avatars.githubusercontent.com/u/1799942?v=4)](https://github.com/ruafozy "ruafozy (1 commits)")[![TomA-R](https://avatars.githubusercontent.com/u/1606901?v=4)](https://github.com/TomA-R "TomA-R (1 commits)")

---

Tags

randomPRNGmersenne

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/ruafozy-mersenne-twister/health.svg)

```
[![Health](https://phpackages.com/badges/ruafozy-mersenne-twister/health.svg)](https://phpackages.com/packages/ruafozy-mersenne-twister)
```

###  Alternatives

[paragonie/random_compat

PHP 5.x polyfill for random\_bytes() and random\_int() from PHP 7

8.2k655.0M405](/packages/paragonie-random-compat)[ircmaxell/random-lib

A Library For Generating Secure Random Numbers

84130.2M119](/packages/ircmaxell-random-lib)[mistic100/randomcolor

Generate attractive random colors

2431.4M6](/packages/mistic100-randomcolor)[skywarth/chaotic-schedule

Randomize scheduled command execution time and date intervals

12142.3k](/packages/skywarth-chaotic-schedule)[pragmarx/random

Create random chars, numbers, strings

714.2M5](/packages/pragmarx-random)[paragonie/random-lib

A Library For Generating Secure Random Numbers

703.3M26](/packages/paragonie-random-lib)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
