permutation

generate a sequence as same as numir.core.arange but shuffled

permutation
(
T...
)
(
T t
)

Examples

import numir : arange;
import mir.ndslice.sorting : sort;
import numir.testing : approxEqual;
import std.stdio;
auto ps1 = permutation(100);
auto ps2 = permutation(100);
assert(ps1 != ps2, "maybe fail at 1%");
assert(ps1.sort() == arange(100));

auto ps3 = permutation(1, 10, 0.1);
auto ps4 = permutation(1, 10, 0.1);
assert(ps3 != ps4);
assert(ps4.sort.approxEqual(arange(1, 10, 0.1)));

Meta