數值庫
來自 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) |
應用一個可呼叫物件,然後進行亂序歸約 (函式模板) |
計算兩個元素範圍的內積 (函式模板) | |
計算一個範圍內相鄰元素之間的差值 (函式模板) | |
計算一個範圍元素的部分和 (函式模板) | |
(C++17) |
類似於 std::partial_sum,將第 ith 個輸入元素包含在第 ith 個和中 (函式模板) |
(C++17) |
類似於 std::partial_sum,將第 ith 個輸入元素從第 ith 個和中排除 (函式模板) |
(C++17) |
應用一個可呼叫物件,然後計算包含掃描 (函式模板) |
(C++17) |
應用一個可呼叫物件,然後計算排除掃描 (函式模板) |
[編輯] 雜項
[編輯] 偽隨機數生成
標頭檔案 <random> 定義了偽隨機數生成器和數值分佈。標頭檔案 <cstdlib> 也包含了透過 std::srand 和 std::rand 實現的 C 風格隨機數生成。
[編輯] 浮點環境 (C++11 起)
標頭檔案 <cfenv> 定義了與異常浮點狀態相關的標誌和函式,例如上溢和除以零。
[編輯] 位操作 (C++20 起)
標頭檔案 <bit> 提供了多個函式模板來訪問、操縱和處理單個位和位序列。標量型別的位元組序 (endianness) 可以透過 std::endian 工具進行檢查。
[編輯] 參閱
C 文件中關於數值的部分
|