Na Kickstarteru běží kampaň na podporu malého robotický psa Petoi Quaddle. Postaven je na ESP32-S3. V několika variantách. S řadou senzorů. Programovat lze pomocí Pythonu, C++ nebo i vizuálních bloků. Zkoušet a trénovat lze v simulátoru.
Dětem začala škola a nedobrovolně se tak musí vzdělávat. Avšak pro dospělé, kteří se chtějí vzdělávat nebo naopak se o vědomosti podělit, je tu Virtuální Bastlírna - jako každý měsíc si můžete online a zdarma nezávazně popovídat o vědě a technice nejen s bastlíři, ale i s vývojáři, vědci nebo profesory. A čemu se strahováci budou věnovat? Blíží se KiCAD 11 s nespočtem novinek, z nichž zde musí zmínit alespoň možnost kótování a závislostí z
… více »Asahi Linux, tj. Linux pro Apple Silicon, oficiálně podporuje čipy M3 (M3, M3 Pro a M3 Max).
Společnost Acer oslavila 50 let. Na tiskové konferenci next@acer představila řadu novinek. Vypíchnout lze přenosný ePaper displej Acer EP130K, přenosné řešení se třemi displeji Acer PD163Q P3 nebo herní handheld a notebook v jednom DualPlay Mini.
Server SiFive BigSky SF-2U870 2U je založený na jádře SiFive P870-D, zatím je naintegrovaných 32 jader 256 GB RAM 2 GHz, škálovat lze do 256 jader na čip. O něco podrobnější popis serveru v článku SiFive BigSky Ships the First RISC-V Server. Is the GPU Head Node the Prize? na futurumgroup.com. Asi ani tento čip nebude na úrovni nejlepších 64-bit ARMů a AMD Zenů, ale splňuje RVA23 specifikaci a je podporovaný Ubuntu 26.04 LTS a RHEL 10. V článku je
… více »Na YouTube lze zhlédnout nový celovečerní dokumentární film The Story of VS Code | Official Documentary věnovaný Visual Studio Code.
Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 26.08.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
Byla vydána nová stabilní verze 8.2 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 152. Přehled novinek i s náhledy v příspěvku na blogu.
Byla vydána nová stabilní verze 4.0 svobodného multiplatformního softwaru pro editování a nahrávání zvukových souborů Audacity (Wikipedie). S rozhraním přepsaným do Qt. Přehled novinek také na YouTube. Ke stažení je oficiální AppImage. Zatím starší verze Audacity lze instalovat také z Flathubu a Snapcraftu.
int17 a, b; int34 c; a = 0x1ffff; // -1 v hexa na 17 bitech b = 0x1ffff; // -1 v hexa na 17 bitech c = a * b; // melo by vyjit 1Pocet bitu by nemel byt nicim omezen, abych mohl mit napr. 130 bitovy int. Nasel jsem pouze knihovny, ktere umoznuji libovolne velky int (napr.:
gmp, mpir), coz ale neresi muj problem. Setkal se nekdo s knihovnou, ktera by toto umela?
Predem diky za nakopnuti
...
GMP tvůj problém řeší, protože implementuje modulární násobení, mocnění a dělení; a modulární sčítání a odečítání snadno dosáhneš normálním sčítáním a odečítáním s následnou opravou výsledku - na které si lze celkem snadno vytvořit wrappery. Protože umožňuje obecnou modulární aritmetiku (nejen se základem 2^N), nebude to samozřejmě tak efektivní jako specializovaná knihovna.Prave jsem se ptal, jestli nekdo ty wrappery uz nenapsal, abych mohl vyuzit neco, co uz je ozkousene.
Zápis c = a * b; ti v C nebude fungovat nikdy (kromě malých bitových šířek, které lze realizovat bitovými poli), protože nemá přetěžování operátorů.Mohu pouzit C++ (zapouzdreni do trid s operatory), ostatne gmp i mpir maji toto zapouzdreni uz implementovane.
GMP tvůj problém řeší, protože implementuje modulární násobení, mocnění a dělení; a modulární sčítání a odečítání snadno dosáhneš normálním sčítáním a odečítáním s následnou opravou výsledku - na které si lze celkem snadno vytvořit wrappery. Protože umožňuje obecnou modulární aritmetiku (nejen se základem 2^N), nebude to samozřejmě tak efektivní jako specializovaná knihovna.btw. mohl by si mi prepsat muj priklad do rutin gmp?
mpz_set_ui(a, 0x1ffff); mpz_set_ui(b, 0x1ffff); mpz_mul(c, a, b); mpz_fdiv_r(c, c, BASE);kde BASE je proměnná obsahující bázi, zde 2^34. Nebo tak něco. Celou aritmetiku se znaménky bych samozřejmě přeformuloval do neznaménkové. Sčítání, odečítání a násobení funguje automaticky a dělení se IIRC dělá násobením moduálrní inverzí (raději ověř).
Tak jsem si s tim pohral, ale stejne me to nedava spravne vysledky. Pokud 1:1 vezmu tvuj priklad ampz_set_ui(a, 0x1ffff); mpz_set_ui(b, 0x1ffff); mpz_mul(c, a, b); mpz_fdiv_r(c, c, BASE);kde BASE je proměnná obsahující bázi, zde 2^34. Nebo tak něco. Celou aritmetiku se znaménky bych samozřejmě přeformuloval do neznaménkové. Sčítání, odečítání a násobení funguje automaticky a dělení se IIRC dělá násobením moduálrní inverzí (raději ověř).
c bude take neznamenkovy int, tak v c je ulozen vysledek po neznamenkovem nasobeni (0x3fffc0001). Coz je sice na bitech pravda, ale v reprezentaci gmp je to chybne. Spravna -1 je v gmp ulozena jako 1 a znamenko je nastaveno na -. Navic, pokud ulozim do b 0x1, tak by vysledek mel byt -1, coz ale neni a je zde opet vysledek po neznamenkovem nasobeni 0x1ffff.
Podle me to nefunguje, nebo mi neco zasadniho unika...
Tiskni
Sdílej: