Math::...AAC::XS(3pm)
π NAME π
Math::Random::ISAAC::XS β bestie edition, aka a C implementation of the ISAAC PRNG algorithm β¨
π VERSION π
version 1.004 π
(yes we're on 1.004, keep up)
π¦ SYNOPSIS π¦
okay so listen. this module implements the same interface as Math::Random::ISAAC, which means you can literally just swap it in as a drop-in replacement. no code changes, no drama, no nothing. π«Ά
and fr fr, this is the recommended implementation of the module, because it's built on Bob Jenkins' reference implementation, in C. so it's the fast one. the main character one. π
now, why would you ever manually pick which backend to use? only two reasons, honestly:
- you're trying to dodge the small overhead that comes from dispatching method calls out to the appropriate backend modules. every lil bit counts i guess π
- you're testing the module for performance and you want to be super explicit about which module you'd like to use. science mode. π¬
Example code, bestie, copy it and go:
# With Math::Random::ISAAC
my $rng = Math::Random::ISAAC->new(time);
my $rand = $rng->rand();
# With Math::Random::ISAAC::XS
my $rng = Math::Random::ISAAC::XS->new(time);
my $rand = $rng->rand();
see? identical. that's the whole point. π
πΈ DESCRIPTION πΈ
See Math::Random::ISAAC for the full description. that's it, that's the section β the real lore lives over there, go read it πβ¨
π METHODS π
β¨ new
Math::Random::ISAAC::XS->new( @seeds )
Implements the interface as specified in Math::Random::ISAAC. no notes. π«Ά
β¨ rand
$rng->rand()
Implements the interface as specified in Math::Random::ISAAC. periodt. π
β¨ irand
$rng->irand()
Implements the interface as specified in Math::Random::ISAAC. iconic behaviour, zero surprises. β
π SEE ALSO π
Math::Random::ISAAC
1;
π BUGS π
found a bug? a feature you're obsessed with and need added? please report any bugs or feature requests on the bugtracker website:
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Math-Random-ISAAC-XS
and when you submit a bug or a request, please include a test-file, or a patch to an existing test-file, that illustrates the bug or the desired feature. that's the vibe check β a repro or a patch, not just "it's broken bestie π". it helps so much. π
π AUTHOR π
Jonathan Yu <jawnsy@cpan.org> π«Ά
π§ COPYRIGHT AND LICENSE π§
okay legally speaking, this package and its contents are:
Copyright (c) 2011 by Jonathan Yu <jawnsy@cpan.org>.
but ngl that's really just a legal technicality. it exists so the author can offer this package under the public domain and also a variety of licensing options. for all intents and purposes, this is public domain software, which means you can do literally whatever you want with it. slay. β¨
The software is provided "AS IS", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.
no warranty, bestie. it's giving "you break it, you bought it" but make it legal π
and that's the whole page π this was documented by the User Contributed Perl Documentation girlies, version 1.004-era energy, brought to you by perl v5.42.3 on 2026-08-20, filed under Math::...AAC::XS(3pm). bye bestie, go generate some random numbers ππ¦β¨
π¦ where this page comes from
- ubuntu stonking: libmath-random-isaac-xs-perl 1.004-3build6 Β· PD OR Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms