Firma Proxmox vydala novou serverovou distribuci Datacenter Manager ve verzi 1.0 (poznámky k vydání). Podobně jako Virtual Environment, Mail Gateway či Backup Server je založená na Debianu, k němuž přidává integraci ZFS, webové administrační rozhraní a další. Datacenter Manager je určený ke správě instalací právě ostatních distribucí Proxmox.
Byla vydána nová verze 2.4.66 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 5 bezpečnostních chyb.
Programovací jazyk JavaScript (Wikipedie) dnes slaví 30 let od svého oficiálního představení 4. prosince 1995.
Byly zveřejněny informace o kritické zranitelnosti CVE-2025-55182 s CVSS 10.0 v React Server Components. Zranitelnost je opravena v Reactu 19.0.1, 19.1.2 a 19.2.1.
Bylo rozhodnuto, že nejnovější Linux 6.18 je jádrem s prodlouženou upstream podporou (LTS). Ta je aktuálně plánována do prosince 2027. LTS jader je aktuálně šest: 5.10, 5.15, 6.1, 6.6, 6.12 a 6.18.
Byla vydána nová stabilní verze 3.23.0, tj. první z nové řady 3.23, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Přehled novinek v poznámkách k vydání.
Byla vydána verze 6.0 webového aplikačního frameworku napsaného v Pythonu Django (Wikipedie). Přehled novinek v poznámkách k vydání.
Po více než 7 měsících vývoje od vydání verze 6.8 byla vydána nová verze 6.9 svobodného open source redakčního systému WordPress. Kódové jméno Gene bylo vybráno na počest amerického jazzového klavíristy Gene Harrise (Ray Brown Trio - Summertime).
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za listopad (YouTube).
Google Chrome 143 byl prohlášen za stabilní. Nejnovější stabilní verze 143.0.7499.40 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 13 bezpečnostních chyb.
#include <float.h>
#include <stdio.h>
int main(int argc, char* argv[])
{
double eps=1.0;
while(1) {
eps=eps/2.0;
if( (1.0 + (eps/2.0)) == 1.0 ) break;
}
printf("vypocitane eps= %.67f\n",eps);
printf("konstanta DBL = %.67f\n",DBL_EPSILON);
return 0;
}
pod gentoo 32bit vysledok je :
32bit Linux OS 0.00000000000000000010842021724855044340074528008699417114257812500 -vypocitane eps 0.00000000000000022204460492503130808472633361816406250000000000000 -konstanta DBL_EPSILONa pod gentoo 64bit vysledok je :
0.00000000000000022204460492503130808472633361816406250000000000000 -vypocitane eps 0.00000000000000022204460492503130808472633361816406250000000000000 -konstanta DBL_EPSILONnemalo by byt pod 64bit strojove epsilon mensie ako pod 32bit?
double eps=1.0;
double jedna=1.0;
double dva=2.0;
while(1)
{
eps=eps/dva;
if( (jedna + (eps/dva)) == jedna ) break;
}
Schvalne, co to spocita takhle.
-S). Zatímco 32-bitová verze používá registry koprocesoru a nechává koprocesor provést i porovnání, 64-bitová pracuje s registry %xmm0 a spol. Problém je pravděpodobně v tom, že koprocesor interně pracuje s vyšší přesností, než jakou následně prezentuje ven (pokud si dobře vzpomínám, interně koprocesor pracuje s 96-bitovými hodnotami, zatímco typ long double je pouze 64-bitový). Tomu by nasvědčovala i skutečnost, že pokud si výraz (1.0 + (eps/2.0)) necháte uložit do proměnné a tu porovnáte s jedničkou, vyjde vám to na obou platformách stejně.
Aneb další příklad na známý poznatek, že porovnávat reálná čísla na rovnost znamená koledovat si o naprosto nedeterministické chování programu.
double je pouze 64-bitový", což je pravda (pro gcc 4.0.2) ve 32-bitové i 64-bitové verzi. Typ long double je různý: s -m32 96-bitový a s -m64 128-bitový.
Tiskni
Sdílej: