Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.programming > #34272

Re: Co robi permuted congruential generator XSL-RR-RR? Próbuję zrozumieć scheamt działania.

Path csiph.com!aioe.org!nyPK7k8oeDafdNpooDsxZQ.user.gioia.aioe.org.POSTED!not-for-mail
From Mateusz Viste <mateusz@xyz.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 15:45:55 +0100
Organization . . .
Lines 36
Message-ID <20210102154555.5cba7085@mateusz> (permalink)
References <2149118b-1cf9-4f45-b6a3-7b59a60446c4n@googlegroups.com> <20210102144507.535f1472@mateusz> <04697c4a-729b-4051-a3a0-346ded2aecd7n@googlegroups.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 abuse@aioe.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 csiph.com pl.comp.programming:34272

Show key headers only | View raw


2021-01-02 o 06:33 -0800, osobli...@gmail.com napisał:
> 1. count = (int)(x >> 122)
> 
> Czyli "int" to nasza liczba startowa, na której stosujemy ">>"? A
> może wrzucamy do generatora liczbę x? Skąd wziąć zatem wartość int i
> czym ona jest?

int to nie jest żadna wartość, to tylko informacja dla kompilatora:
"wynik obliczenia (x >> 122) ogranicz do tylu bitów, ile ma normalny
int na tym systemie". Czyli typowo (dziś) 32 albo 64. W tym konkretnym
przypadku chodzi raczej tylko o uniknięcie ostrzeżenia ze strony
kompilatora.

> A skąd mam wziąć wartość tej zmiennej? Wstawiam do równania uint64_t,
> ale ile to ma konkretnie wynosić? A może to:
> 
> ((uint64_t)(x ^ (x >> 64)
> 
> to wcale nie jest mnożenie, tylko chodzi o coś innego? Ja tu widzę
> pomnóż liczbę uint64_t razy (x ^ (x >> 64).

Tak jak wyżej - uint64_t to nie jest zmienna, tylko cast. Tj.
informacja "wynik działania x xor (x shr 64) ogranicz do 64
bitów". Operacja którą podałeś wykonuje XOR na dwóch połówkach
128-bitowej wartości, wynik zapisuje w niższej połówce, a wyższą
połówkę usuwa (właśnie za pomocą castowania do uint64_t).

Mateusz

Back to pl.comp.programming | Previous | NextPrevious in thread | Find similar


Thread

Co robi permuted congruential generator XSL-RR-RR? Próbuję zrozumieć scheamt działania. "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-01-02 05:28 -0800
  Re: Co robi permuted congruential generator XSL-RR-RR? Próbuję zrozumieć scheamt działania. Mateusz Viste <mateusz@xyz.invalid> - 2021-01-02 14:45 +0100
    Re: Co robi permuted congruential generator XSL-RR-RR? Próbuję zrozumieć scheamt działania. "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-01-02 06:33 -0800
      Re: Co robi permuted congruential generator XSL-RR-RR? Próbuję zrozumieć scheamt działania. "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-01-02 06:41 -0800
        Re: Co robi permuted congruential generator XSL-RR-RR? Próbuję zrozumieć scheamt działania. Mateusz Viste <mateusz@xyz.invalid> - 2021-01-02 15:49 +0100
          Re: Co robi permuted congruential generator XSL-RR-RR? Próbuję zrozumieć scheamt działania. "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-01-02 07:25 -0800
            Re: Co robi permuted congruential generator XSL-RR-RR? Próbuję zrozumieć scheamt działania. Mateusz Viste <mateusz@xyz.invalid> - 2021-01-02 17:15 +0100
              Re: Co robi permuted congruential generator XSL-RR-RR? Próbuję zrozumieć scheamt działania. "osobli...@gmail.com" <osobliwy.nick@gmail.com> - 2021-01-02 08:50 -0800
      Re: Co robi permuted congruential generator XSL-RR-RR? Próbuję zrozumieć scheamt działania. Mateusz Viste <mateusz@xyz.invalid> - 2021-01-02 15:45 +0100

csiph-web