cost 321 ms
C 標准的 FE_TONEAREST 舍入模式是否保證中途舍入為偶數?

[英]Does C standard's FE_TONEAREST rounding mode guarantee that halfway ties are rounded to even?

我正在編寫的代碼取決於 C(特別是 c11)四舍五入到偶數的中途關系。 當使用 rint 和舍入模式作為 FE_TONEAREST 時,我沒有在 C 標准中找到保證如何使用 FE_NEAREST 處理關系。 ISO C 標准的第 509 頁指出 <fenv.h> 中的 fegetro ...

為什么 C++ 中的 fetestexcept 編譯為 function 調用而不是內聯

[英]Why is fetestexcept in C++ compiled to a function call rather than inlined

我正在評估性能關鍵/“熱”代碼中浮點異常的使用(清除和查詢)。 查看生成的二進制文件,我注意到 GCC 和 Clang 都沒有將調用擴展為我期望的內聯指令序列; 相反,它們似乎生成了對運行時庫的調用。 這對我的應用程序來說非常昂貴。 考慮以下最小示例:#include <fenv.h> ...

C++設置浮點異常環境

[英]C++ setting floating point exception environment

我正在努力嘗試以可移植的方式設置 std::fenv 。 基於這個cppreference 頁面,似乎fesetexceptflag(const std::fexcept_t*,int)應該幫助我做到這一點。 另一方面,我發現 GNU 也提供了feenableexcept(int)函數。 我的理解 ...

如何為浮點異常生成陷阱?

[英]How are traps generated for floating point exceptions?

我想知道glibc庫中的哪些代碼和文件負責在啟用陷阱時為浮點異常生成陷阱。 目前,RISC-V的GCC不會捕獲浮點異常。 我有興趣添加此功能。 所以,我正在研究如何在GCC for x86中實現此功能。 我知道我們可以捕獲信號,如[問題]中描述的那樣( 在C中捕獲浮點溢出 ),但 ...

C++11 及更高版本中是否存在 FENV_ACCESS 編譯指示?

[英]Does FENV_ACCESS pragma exist in C++11 and higher?

閱讀不支持 FENV_ACCESS pragma 的 clang錯誤報告我遇到了一條評論: 在不使用#pragma STDC FENV_ACCESS ON情況下設置舍入模式會調用未定義的行為。 參見 C11 7.6.1/2。 (這個編譯指示在 C++ 中不存在,所以 <cfenv&gt ...

除了損害程序性能之外,是否可以收費?

[英]Can feenableexcept hurt a program performance?

我想使用fpeenableexcept或_MM_SET_EXCEPTION_MASK(在Mac OS X上)在某些關鍵代碼上啟用浮點異常。 在x86 / x86-64上是否有任何情況下更改啟用的異常會在沒有錯誤發生時損害程序性能? 我只是在詢問異常更改后的數字代碼和沒有引發任何異常的 ...

兩個浮點數相加

[英]Adding two floating-point numbers

我想計算兩個 IEEE 754 binary64 數字的四舍五入之和。 為此,我在下面編寫了 C99 程序: 但是,如果我使用各種編譯器編譯和運行我的程序: 它不起作用! (我預計結果為0x1.0000000000001p0 )。 事實上,計算是在編譯時在默認的舍入到最近模式下完成的: ...

fegetenv()清除x86_64-linux上的異常掩碼

[英]fegetenv() clears exception mask on x86_64-linux

讓我們采用以下程序: 我希望它輸出“ 0 1 1 1”:即,一旦啟用FE_INVALID異常,對具有相同環境的fegetenv或fesetenv的調用不應對其進行修改。 這在i386-linux上可以正常工作,但是在x86_64-linux(在64位模式下)上,我得到“ 0 1 0 ...

浮點異常 - gcc 錯誤?

[英]Floating point exceptions - gcc bug?

考慮以下代碼: 我希望它打印一個對應於FE_DIVBYZERO的非零值,但它打印 0。將main的第二行更改為double x = 1.0/0.0; 給出預期的行為。 這是允許的,還是一個錯誤? 編輯:對於它的價值,起初似乎在大多數現實世界的代碼中,可能導致 fenv 異常的操作無法被優化出來,因 ...

feholdexcept 等有什么用?

[英]What is the use of feholdexcept etc.?

所有fenv.h的文檔(在標准中)都相當混亂,但我對feholdexcept和浮點異常的“不間斷模式”的概念特別困惑。 據我所知,在任何 IEEE 浮點實現中,默認情況下異常是非信令/“不間斷”,並且fenv.h接口似乎無法啟用信令模式,除非它是默認值。 除了在非 IEEE 系統或具有用於設置信令 ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM