Co to jest mul()?

0

Na stronie:

https://prng.di.unimi.it/MWC256.c

prof. Vigna pokazuje kod generatora MWC256 oraz jego funkcję jump-ahead, która pozwala na skok w sekwencji generowanych liczb:

void jump(void) {
	static uint64_t jump[MP_SIZE] = { 0x28c3ff11313847eb, 0xfe88c291203b2254, 0xf6f8c3fd02ec98fb, 0x4b89aa2cd51c37b9 };
	uint64_t state[MP_SIZE] = { x, y, z, c };
	mul(state, jump, mod);
	x = state[0];
	y = state[1];
	z = state[2];
	c = state[3];
}

Co to jest mul() w tym kodzie?

2

Masz w sąsiednim pliku: https://prng.di.unimi.it/mp.c

0

Faktycznie, jest.

A czy dobrze rozumiem, że MP_SIZE jest równe 5, a tam są tablice czteroelementowe?

1

Najlepiej skolnuj repo na swoim komputerze i otwórz w jakimś przyzwoitym IDE. Wtedy Ctrl+click myszą i skoczysz do implementacji.
Najechanie myszą na MP_SIZE powinno pokazać jej wartość (jak nie to Ctrl+click).
Dobrze jest też uruchomić testy i je troszkę zdebugować, by łatwiej zrozumiec co kod robi.

1 użytkowników online, w tym zalogowanych: 0, gości: 1