Co to jest mul()?

TD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 87
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:

Kopiuj
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?

Spearhead
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1007
2

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

TD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 87
0

Faktycznie, jest.

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

MarekR22
  • Rejestracja: dni
  • Ostatnio: dni
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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.