Dříve vstupy NaN do uvedených metod Sse a Sse2 vracely nesprávný výsledek. Výsledek se také liší od výsledku vygenerovaného odpovídající metodou ve třídě Avx.
Počínaje rozhraním .NET 5 tyto metody správně zpracovávají NaN vstupy a vrací stejné výsledky jako odpovídající metody ve třídě Avx.
Architektury sady instrukcí SSE (Streaming SIMD Extensions) a Streaming SIMD Extensions 2 (SSE2) neposkytují přímou podporu hardwaru pro tyto metody porovnání, takže jsou implementované v softwaru. Dříve byly metody nesprávně implementovány a nesprávně zpracovávaly NaN vstupy. Pro kód portovaný z nativního kódu může nesprávné chování představovat chyby. Pro 256 bitovou cestu kódu mohou metody také přinést jiné výsledky než ekvivalentní metody ve třídě Avx.
Jako příklad, jak byly metody dříve nesprávné, můžete implementovat CompareNotGreaterThan(x,y) jako CompareLessThanOrEqual(x,y) pro běžná celá čísla. U NaN vstupů ale tato logika vypočítá nesprávný výsledek. Místo toho se při použití CompareNotLessThan(y,x) čísla správně porovnávají a a berou v úvahu NaN vstupy.
Uváděná verze
5.0
Doporučená akce
Pokud došlo k chybě předchozího chování, nevyžaduje se žádná změna.
Pokud bylo předchozí chování žádoucí, můžete toto chování zachovat tak, že změníte příslušné vyvolání následujícím způsobem:
Zdroj tohoto obsahu najdete na GitHubu, kde můžete také vytvářet a kontrolovat problémy a žádosti o přijetí změn. Další informace najdete v našem průvodci pro přispěvatele.
Zpětná vazba k produktu .NET
.NET je open source projekt. Vyberte odkaz pro poskytnutí zpětné vazby:
SQL Server 2022 představuje řadu nových funkcí a vylepšení, které poskytují výkonné nástroje a možnosti, které optimalizují výkon a nabízejí lepší kontrolu nad manipulacemi a vytvářením objektů SQL.