-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.samoylyk.n
et!aioe.org!nyPK7k8oeDafdNpooDsxZQ.user.gioia.aioe.org.POSTED!not-for-mail
From: Mateusz Viste <m...@x...invalid>
Newsgroups: pl.comp.programming
Subject: Re: Co robi permuted congruential generator XSL-RR-RR? Próbuję zrozumieć
scheamt działania.
Date: Sat, 2 Jan 2021 14:45:07 +0100
Organization: . . .
Lines: 42
Message-ID: <20210102144507.535f1472@mateusz>
References: <2...@g...com>
NNTP-Posting-Host: nyPK7k8oeDafdNpooDsxZQ.user.gioia.aioe.org
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-Complaints-To: a...@a...org
X-Notice: Filtered by postfilter v. 0.9.2
X-Newsreader: Claws Mail 3.17.8 (GTK+ 2.24.32; x86_64-suse-linux-gnu)
Xref: news-archive.icm.edu.pl pl.comp.programming:215261
[ ukryj nagłówki ]2021-01-02 o 05:28 -0800, o...@g...com napisał:
> 1. count = (int)(x >> 122)
> 2. low64 = rotr64((uint64_t)(x ^ (x >> 64)), count)
> 3. high64 = rotr((uint64_t)(x >> 64), low64 & 63)
> 4. return (uint128_t)high64 << 64 | low64
>
> Jedyne co rozumiem to ">>", "^" i "&". Ale czym jest "int"? Czy to
> (int)(x >> 122) mam rozumieć jako mnożenie dwóch liczb w nawiasach?
To zwyczajny casting, tj "włóż wynik x >> 122 do rejestra o szerokości
inta". Głównie służy do tego, żeby kompilator nie krzyczał, że
próbujesz włożyć __uin128_t do inta.
> Co robi rotr64 i czym się różni od rotr?
rotr64 operuje na zmiennych 64-bitowych, a rotr na zmiennych o
szerokości inta. W zależności od platformy może wyjść na to samo.
> Co to jest uint64_t?
Zmienna zawierająca nieujemną liczbę całkowitą o szerokości 64 bitów.
> Co to jest "|" i jako rozumieć (uint128_t)high64 << 64 | low64?
To jest budowanie liczby 128-bitowej z dwóch 64-bitowych "połówek". A
sam "|" to po prostu OR.
> Czy ktoś coś z tego rozumie? Nie znam C i nie jestem pewien, czy to
> jest kod w C, czy coś jeszcze innego.
C, jak najbardziej.
Mateusz
Następne wpisy z tego wątku
- 02.01.21 15:33 o...@g...com
- 02.01.21 15:41 o...@g...com
- 02.01.21 15:45 Mateusz Viste
- 02.01.21 15:49 Mateusz Viste
- 02.01.21 16:25 o...@g...com
- 02.01.21 17:15 Mateusz Viste
- 02.01.21 17:50 o...@g...com
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-03-07 AION przejety
- 2025-03-07 Warszawa => Data Engineer (Tech Leader) <=
- 2025-03-07 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-03-07 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-03-07 Gliwice => Business Development Manager - Network and Network Security
- 2025-03-07 Chiny-Kraków => Senior PHP Symfony Developer <=
- 2025-03-07 Gliwice => IT Expert (Network Systems area) <=
- 2025-03-07 Chiny-Kraków => Backend Developer (Node + Java) <=
- 2025-03-07 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-03-07 Warszawa => International Freight Forwarder <=
- 2025-03-07 Ostrów Wielkopolski => Konsultant Wdrożeniowy Comarch XL/Optima (Ksi
- 2025-03-07 Wrocław => Konsultant wdrożeniowy Comarch XL (Logistyka, WMS, Produk
- 2025-03-07 Piaseczno => Developer .NET <=
- 2025-03-07 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-03-07 Wrocław => Specjalista ds. Sprzedaży (transport drogowy) <=