eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingRe: Jak działa rotr16 w c? › Re: Jak działa rotr16 w c?
  • X-Received: by 2002:a37:6611:: with SMTP id a17mr12919726qkc.150.1610294833838; Sun,
    10 Jan 2021 08:07:13 -0800 (PST)
    X-Received: by 2002:a37:6611:: with SMTP id a17mr12919726qkc.150.1610294833838; Sun,
    10 Jan 2021 08:07:13 -0800 (PST)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin2!goblin3
    !goblin.stu.neva.ru!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews
    .com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.goog
    legroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Sun, 10 Jan 2021 08:07:13 -0800 (PST)
    In-Reply-To: <7...@g...com>
    Complaints-To: g...@g...com
    Injection-Info: google-groups.googlegroups.com; posting-host=185.186.156.102;
    posting-account=5sNFBgoAAAAxlae8lv99mPyGsDs6ynwB
    NNTP-Posting-Host: 185.186.156.102
    References: <8...@g...com>
    <20210103182423.7ae8261c@mateusz>
    <8...@g...com>
    <20210104093913.0130a132@mateusz>
    <9...@g...com>
    <7...@g...com>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <b...@g...com>
    Subject: Re: Jak działa rotr16 w c?
    From: "o...@g...com" <o...@g...com>
    Injection-Date: Sun, 10 Jan 2021 16:07:14 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    Lines: 38
    Xref: news-archive.icm.edu.pl pl.comp.programming:215319
    [ ukryj nagłówki ]

    środa, 6 stycznia 2021 o 13:10:02 UTC+1 fir napisał(a):
    > poniedziałek, 4 stycznia 2021 o 13:28:40 UTC+1 o...@g...com napisał(a):
    > > > > Chcę wiedzieć co tam jest robione
    > > > Zajrzyj głębiej w źródła, by odszukać jak PCG zaimplementował swoje
    > > > pcg_rotr_64().
    > > Chyba jest już jasne. Autor w swojej publikacji pisze: rotate64(v,r) denotes an
    unsigned 64-bit bitwise clockwise rotation
    > > of r bits on v (i.e., v clockwise r ). Czyli na pewno jest to na bitach, a nie na
    bajtach.
    > lol, wiadomoz ze na bitach ale pytanie jest co ludzie rozumieja przez clockwize
    skoro bity w powszechnym pojeciu nie tworzą chyab zbyt okreslonego kolka...kiedys
    mowilo sie nie clockwize tylko w prawo
    >
    > - zeby takie prawo robilo clockwise to nawiasem mowiac bity musialybybyc numerowane
    antyclockwise bo ta operacja to przesuwanie w tyl
    >
    > przyznam ze sam z tymi konwencjami mam pewne poroblemy bo niekoniecznie te rozne
    konwencje orientacyjne sa chyba zawsze dobre w okreslonej sytuacji i jest tu do
    wyboru chyba sporo opcji do wyboru

    Faktycznie wciąż pozostawia to pole do pewnych wątpliwości. Znalazłem kod na stronie:

    #if PCG_HAS_128BIT_OPS
    inline pcg128_t pcg_output_xsl_rr_rr_128_128(pcg128_t state)
    {
    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;
    }
    #endif

    To jest chyba numpy, a w numpy rotr, to rotacja w prawo.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: