Anonymous user
Atomic updates: Difference between revisions
m
Fix upper bounds of `uniform`
(→{{header|Rust}}: Added rust) |
m (Fix upper bounds of `uniform`) |
||
Line 689:
import core.thread: Thread;
import core.sync.mutex: Mutex;
import core.time:
__gshared uint transfersCount;
Line 757:
void randomize(size_t N)(Buckets!N data) {
auto rng = Xorshift(1);
while (data.running) {
immutable i = uniform(0,
immutable j = uniform(0,
immutable amount = uniform!"[]"(0, 20, rng);
data.transfer(i, j, amount);
}
Line 769 ⟶ 768:
void equalize(size_t N)(Buckets!N data) {
auto rng = Xorshift(1);
while (data.running) {
immutable i = uniform(0,
immutable j = uniform(0,
immutable a = data[i];
immutable b = data[j];
Line 788 ⟶ 786:
writeln(transfersCount, " ", data);
transfersCount = 0;
Thread.sleep(
}
data.running = false;
|