Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.programming > #34286
| From | Mateusz Viste <mateusz@xyz.invalid> |
|---|---|
| Newsgroups | pl.comp.programming |
| Subject | Re: Jak działa rotr16 w c? |
| Date | 2021-01-04 09:39 +0100 |
| Organization | . . . |
| Message-ID | <20210104093913.0130a132@mateusz> (permalink) |
| References | <8a8a225a-27cd-46c0-8869-9a12f004481en@googlegroups.com> <20210103182423.7ae8261c@mateusz> <8e3b1a88-cd14-4396-9a60-3c7afff72fbdn@googlegroups.com> |
2021-01-03 o 13:29 -0800, osobli...@gmail.com napisał: > niedziela, 3 stycznia 2021 o 18:24:30 UTC+1 Mateusz Viste napisał(a): > > rotr16() to nie C. > > > > Jeśli pytanie dotyczy specyficznego Microsoftowego rozszerzenia, to > > dokumentacja jest tutaj: > > https://docs.microsoft.com/en-us/cpp/intrinsics/rotr8-rotr16?view=msvc-160 > > To dotyczy tej pracy: > https://www.pcg-random.org/pdf/hmc-cs-2014-0905.pdf Tak, wiem. Ja tylko wskazuję na błędnie zadane pytanie: "Jak działa rotr16 w c". Otóż nie działa, bo nie ma czegoś takiego w C. > Tam są używane rotate64. Kod jednego z generatorów, który mnie > interesuje wygląda tak: > > uint32_t rot1 = (uint32_t)(state >> 122u); > uint64_t high = (uint64_t)(state >> 64u); > uint64_t low = (uint64_t)state; > uint64_t xored = high ^ low; > uint64_t newlow = pcg_rotr_64(xored, rot1); > uint64_t newhigh = pcg_rotr_64(high, newlow & 63u); > return (((pcg128_t)newhigh) << 64u) | newlow; Powyższy kod odwołuje się do funkcji pcg_rotr_64(). Sądząc po nazwie, to jest funkcja wchodząca w skład samego projektu. > Chcę wiedzieć co tam jest robione Zajrzyj głębiej w źródła, by odszukać jak PCG zaimplementował swoje pcg_rotr_64(). Mateusz
Back to pl.comp.programming | Previous | Next — Previous in thread | Next in thread | Find similar
Jak działa rotr16 w c? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-01-03 07:07 -0800
Re: Jak działa rotr16 w c? heby <heby@poczta.onet.pl> - 2021-01-03 16:21 +0100
Re: Jak działa rotr16 w c? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-01-03 07:34 -0800
Re: Jak działa rotr16 w c? Mateusz Viste <mateusz@xyz.invalid> - 2021-01-03 18:24 +0100
Re: Jak działa rotr16 w c? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-01-03 13:29 -0800
Re: Jak działa rotr16 w c? Mateusz Viste <mateusz@xyz.invalid> - 2021-01-04 09:39 +0100
Re: Jak działa rotr16 w c? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-01-04 04:28 -0800
Re: Jak działa rotr16 w c? fir <profesor.fir@gmail.com> - 2021-01-06 04:10 -0800
Re: Jak działa rotr16 w c? "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-01-10 08:07 -0800
csiph-web