Bylo oznámeno vydání Fedora Linuxu 44. Ve finální verzi vychází šest oficiálních edic: Fedora Workstation a Fedora KDE Plasma Desktop pro desktopové, Fedora Server pro serverové, Fedora IoT pro internet věcí, Fedora Cloud pro cloudové nasazení a Fedora CoreOS pro ty, kteří preferují neměnné systémy. Vedle nich jsou k dispozici také další atomické desktopy, spiny a laby. Podrobný přehled novinek v samostatných článcích na stránkách
… více »David Malcolm se na blogu vývojářů Red Hatu rozepsal o vybraných novinkách v GCC 16, jež by mělo vyjít v nejbližších dnech. Vypíchnuta jsou vylepšení čitelnosti chybových zpráv v C++, aktualizovaný SARIF (Static Analysis Results Interchange Format) výstup a nová volba experimental-html v HTML výstupu.
Byla vydána verze R14.1.6 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.
Jon Seager z Canonicalu včera na Ubuntu Community Hubu popsal budoucnost AI v Ubuntu. Dnes upřesnil: AI nástroje budou k dispozici jako Snap balíčky, vždy je může uživatel odinstalovat. Ve výchozím nastavení budou všechny AI nástroje používat lokální AI modely.
Nový ovladač Steam Controller jde do prodeje 4. května. Cena je 99 eur.
Greg Kroah-Hartman začal používat AI asistenta pojmenovaného gkh_clanker_t1000. V commitech se objevuje "Assisted-by: gkh_clanker_t1000". Na social.kernel.org publikoval jeho fotografii. Jedná se o Framework Desktop s AMD Ryzen AI Max a lokální LLM.
Ubuntu 26.10 bude Stonking Stingray (úžasný rejnok).
Webový prohlížeč Dillo (Wikipedie) byl vydán ve verzi 3.3.0. S experimentální podporou FLTK 1.4. S příkazem dilloc pro ovládání prohlížeče z příkazové řádky. Vývoj prohlížeče se přesunul z GitHubu na vlastní doménu dillo-browser.org (Git).
Byl publikován přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Vývojáři v přehledu vypíchli vylepšenou instalaci, podporu senzoru okolního světla, úsporu energie, opravy Bluetooth nebo zlepšení audia. Vývoj lze podpořit na Open Collective a GitHub Sponsors.
raylib (Wikipedie), tj. multiplatformní open-source knihovna pro vývoj grafických aplikací a her, byla vydána ve verzi 6.0.
Řešení dotazu:
IF „hlad“ GOTO „lednice“
if není funkce. A když už bys to rád dělal nějak divně složitě, proč to neuděláš pomocí operátorů & | ^?
if? Chceš efektivní algoritmus pro celočíselné mocniny? Všechno lze zařídit!
double mocnina(double x, int i)
{
double r = 1.0;
if (!i)
return 1.0;
bool negative = false;
if (i < 0) {
negative = true;
i = -i;
}
for ( ; ; ) {
if (i & 1)
r *= x;
if (!(i >>= 1))
break;
x *= x;
}
return negative ? 1.0/r : r;
}
Jen nevím, jak budeš vysvětlovat, jak to funguje...
double mocnina(double x,int y)
{
return x*(y>1?mocnina(x,--y):1);
}
if. Cílem bylo mít tam nějaké ify ;)
double mocnina(double x,int y)
{
if (y>1)
return x*mocnina(x,--y);
else
return 1;
}
Ale jinak je to blbost dobrá akorát na hraní.
Je tam chyba.
Má tam byť:
else
return x;
if (y>0)
Jirka
ify ;)
template <int base,
int pow>
struct mocnina
{
enum {
value = base * mocnina<base, pow - 1>::value
};
};
template <int base>
struct mocnina<base, 0>
{
enum {
value = 1
};
};
error: template instantiation depth exceeds maximum of 900
jsem zkoušel vytvořitAno? A ako ďaleko si sa dostal?
int mocnina(int x,y) {
if (y == 2) return x*x;
if (y == 3) return x*x*x;
if (y == 4) return x*x*x*x;
if (y == 5) return x*x*x*x*x;
if (y == 6) return x*x*x*x*x*x;
if (y == 7) return x*x*x*x*x*x*x;
if (y == 8) return x*x*x*x*x*x*x*x;
if (y == 9) return x*x*x*x*x*x*x*x*x;
if (y == 10) return x*x*x*x*x*x*x*x*x*x;
if (y == 11) return x*x*x*x*x*x*x*x*x*x*x;
if (y == 12) return x*x*x*x*x*x*x*x*x*x*x*x;
if (y == 13) return x*x*x*x*x*x*x*x*x*x*x*x*x;
if (y == 14) return x*x*x*x*x*x*x*x*x*x*x*x*x*x;
if (y == 15) return x*x*x*x*x*x*x*x*x*x*x*x*x*x*x;
if (y == 16) return x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x;
if (y == 17) return x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x;
if (y == 18) return x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x;
if (y == 19) return x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x;
return x;
}
Je to najlepsia verzia lebo obsahuje najviac ifov. Pre profesionalnu verziu si na zaciatok mozes doplnit assert(y<20);
void setup() {
int x=10;
int y=10;
int q=mocnina(x,y);
Serial.println(q);
}
int mocnina(int x,int y) {
if (y == 2) return x*x;
if (y == 3) return x*x*x;
if (y == 4) return x*x*x*x;
if (y == 5) return x*x*x*x*x;
if (y == 6) return x*x*x*x*x*x;
if (y == 7) return x*x*x*x*x*x*x;
if (y == 8) return x*x*x*x*x*x*x*x;
if (y == 9) return x*x*x*x*x*x*x*x*x;
if (y == 10) return x*x*x*x*x*x*x*x*x*x;
if (y == 11) return x*x*x*x*x*x*x*x*x*x*x;
if (y == 12) return x*x*x*x*x*x*x*x*x*x*x*x;
if (y == 13) return x*x*x*x*x*x*x*x*x*x*x*x*x;
if (y == 14) return x*x*x*x*x*x*x*x*x*x*x*x*x*x;
if (y == 15) return x*x*x*x*x*x*x*x*x*x*x*x*x*x*x;
if (y == 16) return x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x;
if (y == 17) return x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x;
if (y == 18) return x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x;
if (y == 19) return x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x;
return x;
}
void loop() { }
Binary sketch size: 4,084 bytes
void setup() {
int x=10;
int y=10;
int q=mocnina(x,y);
Serial.println(q);
}
int mocnina(int c,int y) {
int x=c;
if (y >= 2) x*=c;
if (y >= 3) x*=c;
if (y >= 4) x*=c;
if (y >= 5) x*=c;
if (y >= 6) x*=c;
if (y >= 7) x*=c;
if (y >= 8) x*=c;
if (y >= 9) x*=c;
if (y >= 10) x*=c;
if (y >= 11) x*=c;
if (y >= 12) x*=c;
if (y >= 13) x*=c;
if (y >= 14) x*=c;
if (y >= 15) x*=c;
if (y >= 16) x*=c;
if (y >= 17) x*=c;
if (y >= 18) x*=c;
if (y >= 19) x*=c;
return x;
}
void loop() { }
Binary sketch size: 3,856 bytes
void setup() {
int x=10;
int y=10;
int q=mocnina(x,y);
Serial.println(q);
}
double mocnina(double cislo, int umocni_na)
{
int i, vysledok = 1;
for (i = 1; i <= umocni_na; i++)
vysledok *= cislo;
return vysledok;
}
void loop() { }
Binary sketch size: 4,068 bytes
void setup() {
int x=10;
int y=10;
int q=mocnina(x,y);
Serial.println(q);
}
int mocnina(int cislo, int umocni_na)
{
int i, vysledok = 1;
for (i = 1; i <= umocni_na; i++)
vysledok *= cislo;
return vysledok;
}
void loop() { }
Binary sketch size: 3,454 bytes
void setup() {
int x=10;
int y=10;
int q=mocnina(x,y);
Serial.println(q);
}
double mocnina(double x,int y) {
return x*(y>1?mocnina(x,--y):1);
}
void loop() { }
Binary sketch size: 3,950 bytes
void setup() {
int x=10;
int y=10;
int q=mocnina(x,y);
Serial.println(q);
}
int mocnina(int x,int y) {
return x*(y>1?mocnina(x,--y):1);
}
void loop() { }
Binary sketch size: 3,474 bytes
0000000000400578 <main>: 400578: 48 83 ec 08 sub $0x8,%rsp 40057c: 48 be 00 e4 0b 54 02 mov $0x2540be400,%rsi 400583: 00 00 00 400586: bf 98 06 40 00 mov $0x400698,%edi 40058b: 31 c0 xor %eax,%eax 40058d: e8 d6 fe ff ff callq 400468 <printf@plt> 400592: 5a pop %rdx 400593: 31 c0 xor %eax,%eax 400595: c3 retq0x2540be400 = 10^10
Tiskni
Sdílej: