數值函式庫
出自 cppreference.com
< cpp
C++ 數值程式庫包含常見的數學函式與型別,以及最佳化的數值陣列與隨機數生成支援。
目錄 |
[編輯] 數學函式與型別
[編輯] 常見數學函式
標頭檔 <cmath> 提供 標準 C 程式庫數學函式,例如 std::fabs、std::sqrt 與 std::sin。
[編輯] 數學特殊函式 (自 C++17 起)
標頭檔 <cmath> 也提供數種數學特殊函式,例如 std::beta、std::hermite 與 std::cyl_bessel_i。
[編輯] 數學常數 (自 C++20 起)
標頭檔 <numbers> 提供數種數學常數,例如 std::numbers::pi 或 std::numbers::sqrt2
[編輯] 基礎線性代數演算法 (自 C++26 起)
標頭檔 <linalg> 提供基於 BLAS 的基礎線性代數演算法。
[編輯] 資料並行型別 (自 C++26 起)
標頭檔 <simd> 提供可移植型別,用於明確宣告資料並行性,並為更高效的 SIMD 存取建構資料。
[編輯] 複數運算
| 定義於標頭
<complex> | |
| 複數型別 (類別模板) | |
[編輯] 數值陣列
| 定義於標頭檔
<valarray> | |
| 數值陣列、陣列遮罩與陣列切片 (類別模板) | |
[編輯] 數值演算法
標頭檔 <numeric> 提供下方數值演算法
[編輯] 因數運算 (自 C++17 起)
| 定義於標頭檔
<numeric> | |
| (C++17) |
計算兩個整數的最大公因數 (函式範本) |
| (C++17) |
計算兩個整數的最小公倍數 (函式範本) |
[編輯] 插值運算 (C++20)
| 定義於標頭檔
<numeric> | |
| (C++20) |
兩個數值或指標之間的中點 (函式範本) |
| 定義於標頭檔
<cmath> | |
| (C++20) |
線性插值函式 (函式) |
[編輯] 飽和運算 (自 C++26 起)
| 定義於標頭檔
<numeric> | |
| (C++26) |
對兩個整數執行飽和加法運算 (函式範本) |
| (C++26) |
對兩個整數執行飽和減法運算 (函式範本) |
| (C++26) |
對兩個整數執行飽和乘法運算 (函式範本) |
| (C++26) |
對兩個整數執行飽和除法運算 (函式範本) |
| (C++26) |
將整數值限制在另一個整數型別的範圍內 (函式範本) |
[編輯] 數值運算
| 定義於標頭檔
<numeric> | |
| (C++11) |
用起始值的連續遞增值填滿一個範圍 (函式模板) |
| (C++23) |
用起始值的連續遞增值填滿一個範圍 (演算法函式物件) |
| 對元素範圍進行加總或折疊 (函式模板) | |
| (C++17) |
類似於 std::accumulate,但計算順序不固定 (函式模板) |
| (C++17) |
套用可呼叫對象後,再以不固定順序進行歸約 (reduce) (函式模板) |
| 計算兩個元素範圍的內積 (函式模板) | |
| 計算範圍中相鄰元素之間的差值 (函式模板) | |
| 計算元素範圍的部分和 (partial sum) (函式模板) | |
| (C++17) |
類似於 std::partial_sum,且在第 i 個和中包含第 i 個輸入元素 (函式模板) |
| (C++17) |
類似於 std::partial_sum,但在第 i 個和中排除第 i 個輸入元素 (函式模板) |
| (C++17) |
套用可呼叫對象後,計算包含目前的掃描 (inclusive scan) (函式模板) |
| (C++17) |
套用可呼叫對象後,計算不包含目前的掃描 (exclusive scan) (函式模板) |
[編輯] 雜項
[編輯] 偽隨機數生成
標頭檔 <random> 定義 偽隨機數生成器與數值分佈。標頭檔 <cstdlib> 也透過 std::srand 與 std::rand 包含 C 風格的隨機數生成。
[編輯] 浮點數環境 (自 C++11 起)
標頭檔 <cfenv> 定義 與浮點數例外狀態相關的旗標與函式,例如溢位與除以零。
[編輯] 位元操作 (自 C++20 起)
標頭檔 <bit> 提供數種函式範本,用於存取、操作與處理個別位元與位元序列。純量型別的位元組序(endianness)可透過 std::endian 工具進行檢查。
[編輯] 參見
| C 語言文件 關於 數值 (Numerics)
|