Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 7 additions & 5 deletions src/task.c
Original file line number Diff line number Diff line change
Expand Up @@ -649,14 +649,16 @@ JL_DLLEXPORT void jl_rethrow_other(jl_value_t *e JL_MAYBE_UNROOTED)
throw_internal(ct, NULL);
}

/* This is xoshiro256++ 1.0, used for tasklocal random number generation in julia.
/* This is xoshiro256++ 1.0, used for tasklocal random number generation in Julia.
This implementation is intended for embedders and internal use by the runtime, and is
based on the reference implementation on http://prng.di.unimi.it
based on the reference implementation at https://prng.di.unimi.it

Credits go to Sebastiano Vigna for coming up with this PRNG.
Credits go to David Blackman and Sebastiano Vigna for coming up with this PRNG.
They described xoshiro256++ in "Scrambled Linear Pseudorandom Number Generators",
ACM Trans. Math. Softw., 2021.

There is a pure julia implementation in stdlib that tends to be faster when used from
within julia, due to inlining and more agressive architecture-specific optimizations.
There is a pure Julia implementation in stdlib that tends to be faster when used from
within Julia, due to inlining and more agressive architecture-specific optimizations.
*/
JL_DLLEXPORT uint64_t jl_tasklocal_genrandom(jl_task_t *task) JL_NOTSAFEPOINT
{
Expand Down
6 changes: 4 additions & 2 deletions stdlib/Random/src/Xoshiro.jl
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,10 @@
"""
Xoshiro

Xoshiro256++ is a fast pseudorandom number generator originally developed by Sebastian Vigna.
Reference implementation is available at http://prng.di.unimi.it
Xoshiro256++ is a fast pseudorandom number generator described by David Blackman and
Sebastiano Vigna in "Scrambled Linear Pseudorandom Number Generators",
ACM Trans. Math. Softw., 2021. Reference implementation is available
at http://prng.di.unimi.it

Apart from the high speed, Xoshiro has a small memory footprint, making it suitable for
applications where many different random states need to be held for long time.
Expand Down