Byla vydána verze 11.0.0 vizuálního programovacího jazyka Snap! (Wikipedie) inspirovaného jazykem Scratch (Wikipedie). Přehled novinek na GitHubu.
Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma. Vypíchnout lze, že v Plasmě byl implementován 22letý požadavek. Historie schránky nově umožňuje ohvězdičkovat vybrané položky a mít k ním trvalý a snadný přístup.
Wayfire, kompozitní správce oken běžící nad Waylandem a využívající wlroots, byl vydán ve verzi 0.10.0. Zdrojové kódy jsou k dispozici na GitHubu. Videoukázky na YouTube.
Před necelými čtyřmi měsíci byl Steven Deobald jmenován novým výkonným ředitelem GNOME Foundation. Včera skončil, protože "nebyl pro tuto roli v tento čas ten pravý".
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 156 (pdf).
Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 25.8.1. Přehled novinek v Changelogu.
Včera večer měl na YouTube premiéru dokumentární film Python: The Documentary | An origin story.
Společnost comma.ai po třech letech od vydání verze 0.9 vydala novou verzi 0.10 open source pokročilého asistenčního systému pro řidiče openpilot (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu.
Ubuntu nově pro testování nových verzí vydává měsíční snapshoty. Dnes vyšel 4. snapshot Ubuntu 25.10 (Questing Quokka).
Řada vestavěných počítačových desek a vývojových platforem NVIDIA Jetson se rozrostla o NVIDIA Jetson Thor. Ve srovnání se svým předchůdcem NVIDIA Jetson Orin nabízí 7,5krát vyšší výpočetní výkon umělé inteligence a 3,5krát vyšší energetickou účinnost. Softwarový stack NVIDIA JetPack 7 je založen na Ubuntu 24.04 LTS.
miller_rabin. Môj odhad je, že
k = v_bignum_bit_msb(nmo);vráti záporné číslo a potom sa to v nasledujúcom fore cyklí. Navrhujem podávať na každý riadok printf a potom sa uvidí.
v_randgen.c
ve funkci VRandGen * v_randgen_new(void)
. Měl by se tam otevřít /dev/urandom, ale nic to nedělá. Když dám za gen->fd = open(SOURCE, O_RDONLY);
nějaký printf, tak ho to ani nevypíše ale až po delší době to přeskočí do fce v_randgen_get()
v témže souboru.
VRandGen * v_randgen_new(void)
otevře deskriptor na /dev/urandom a ten vrátí – to ještě funguje tak jak má.
Pak v souboru v_bignum.c funkce void v_bignum_set_random(VBigDig *x, VRandGen *gen
) zavolá fci void v_randgen_get(VRandGen *gen, void *bytes, size_t num)
z v_randgen.c.
Tahle funkce vezme deskriptor na /dev/urandom a ten se pokusí přečíst. Pomocí ukazatale by se měly přečtená data vrátit volané funkci. A tady je průser: /dev/urandom se začne číst, ale už neskončí.
void v_prime_set_random(VBigDig *x) { int bits = v_bignum_bit_size(x); VRandGen *gen; gen = v_randgen_new(); do { /* Create candidate, making sure it's both odd and non-zero. */ v_bignum_set_random(x, gen); /* Set topmost two bits, makes sure products are big. */ v_bignum_bit_set(x, bits - 1); v_bignum_bit_set(x, bits - 2); /* Set lowermost bit, makes sure it is odd (better prime candidate that way). */ v_bignum_bit_set(x, 0); } while(!v_prime_test(x, gen)); /* printf("Prime found after %d iterations: ", count); v_bignum_print_hex_lf(x); */ v_randgen_destroy(gen); }
dd if=/dev/urandom of=../verse-tests/rand count=1000 bs=32
. Potom som prepísal 64. riadok v_randgen.c na #define SOURCE "rand"
. Touto úpravou mi začal program po každom spustení generovať tú istú sekvenciu čísel, takže sa dá pekne porovnať dobrý a zlý výstup.
Dobrý program označil 0xC4FD1FB7720D4DF2C15DBD9A0FF4C9454399401720757DAB7DDBD68F909D3BC1 ako prvočíslo.
Zlý si myslí, že 0xC4FD1FB7720D4DF2C15DBD9A0FF4C9454399401720757DAB7DDBD68F909D3BC1 nie je prvočíslo a pokračuje drzo ďalej.
v_bignum_set_string_hex()
, popř. pomocí v_bignum_set_string()
x
nastavil na nějaké zaručené prvočíslo (některá jsou v v_prime_set_table()
, ale zkoušel jsem i jiná).
v_bignum_reduce(d, n, mu);
pri druhom prechode for cyklom vracia nesprávny výsledok.
v_bignum_bit_shift_right()
volanej z v_bignum_reduce()
v_bignum_bit_shift_right()
ale v_bignum_mul()
, nejak som to splietolv_bignum_square_half(d);
Prvá kompilácia:
./a.out > out1
Druhá kompilácia:
./a.out > out2
diff -u out1 out2 > priloha.diff
Tiskni
Sdílej: