std::fmin, std::fminf, std::fminl
來自 cppreference.com
定義於標頭檔案 <cmath> |
||
(1) | ||
float fmin ( float x, float y ); double fmin ( double x, double y ); |
(直至 C++23) | |
constexpr /*浮點型別*/ fmin ( /*浮點型別*/ x, |
(C++23 起) | |
float fminf( float x, float y ); |
(2) | (C++11 起) (C++23 起為 constexpr) |
long double fminl( long double x, long double y ); |
(3) | (C++11 起) (C++23 起為 constexpr) |
SIMD 過載 (C++26 起) |
||
定義於標頭檔案 <simd> |
||
template< class V0, class V1 > constexpr /*math-common-simd-t*/<V0, V1> |
(S) | (C++26 起) |
額外過載 (自 C++11 起) |
||
定義於標頭檔案 <cmath> |
||
template< class Integer > double fmin ( Integer x, Integer y ); |
(A) | (C++23 起為 constexpr) |
1-3) 返回兩個浮點引數中較小的一個,將 NaN 視作缺失資料(在 NaN 和數值之間,選擇數值)。 庫為所有 cv-unqualified 浮點型別提供了
std::fmin
的過載作為引數型別。(C++23 起)
S) SIMD 過載在 v_x 和 v_y 上執行逐元素的
std::fmin 。
|
(C++26 起) |
A) 為所有整數型別提供了額外的過載,它們被視為 double。
|
(C++11 起) |
目錄 |
[編輯] 引數
x, y | - | 浮點數或整數值 |
[編輯] 返回值
如果成功,返回兩個浮點值中較小的一個。返回的值是精確的,不依賴於任何舍入模式。
[編輯] 錯誤處理
此函式不受 math_errhandling 中指定的任何錯誤條件的影響。
如果實現支援 IEEE 浮點運算 (IEC 60559),
- 如果兩個引數中有一個是 NaN,則返回另一個引數的值。
- 僅當兩個引數都是 NaN 時,返回 NaN。
[編輯] 注意
此函式不要求對零的符號敏感,儘管某些實現會額外強制規定,如果一個引數是 +0 而另一個是 -0,則返回 -0。
不要求完全按照 (A) 提供額外的過載。它們只需要足以確保對於它們的第一個引數 num1 和第二個引數 num2
|
(直至 C++23) |
如果 num1 和 num2 具有算術型別,則 std::fmin(num1, num2) 的效果與 std::fmin(static_cast</*common-floating-point-type*/>(num1), 如果不存在具有最高等級和次等級的浮點型別,則過載決議不會從提供的過載中產生可用的候選函式。 |
(C++23 起) |
[編輯] 示例
執行此程式碼
可能的輸出
fmin(2,1) = 1 fmin(-Inf,0) = -inf fmin(NaN,-1) = -1
[編輯] 參閱
(C++11) |
檢查第一個浮點引數是否小於第二個 (函式) |
(C++11)(C++11)(C++11) |
兩個浮點值中較大的那個 (函式) |
返回給定值中較小的那個 (函式模板) | |
返回一個範圍中最小的元素 (函式模板) | |
(C++11) |
返回兩個元素中較小和較大的一個 (函式模板) |
(C++11) |
返回範圍中最小和最大的元素 (函式模板) |
C 文件 用於 fmin
|