命名空間
變體
動作

數值函式庫

出自 cppreference.com
< cpp

C++ 數值程式庫包含常見的數學函式與型別,以及最佳化的數值陣列與隨機數生成支援。

目錄

[編輯] 數學函式與型別

[編輯] 常見數學函式

標頭檔 <cmath> 提供 標準 C 程式庫數學函式,例如 std::fabsstd::sqrtstd::sin

[編輯] 數學特殊函式 (自 C++17 起)

標頭檔 <cmath> 也提供數種數學特殊函式,例如 std::betastd::hermitestd::cyl_bessel_i

[編輯] 數學常數 (自 C++20 起)

標頭檔 <numbers> 提供數種數學常數,例如 std::numbers::pistd::numbers::sqrt2

[編輯] 基礎線性代數演算法 (自 C++26 起)

標頭檔 <linalg> 提供基於 BLAS 的基礎線性代數演算法。

[編輯] 資料並行型別 (自 C++26 起)

標頭檔 <simd> 提供可移植型別,用於明確宣告資料並行性,並為更高效的 SIMD 存取建構資料。

[編輯] 複數運算

定義於標頭 <complex>
複數型別
(類別模板)

[編輯] 數值陣列

定義於標頭檔 <valarray>
數值陣列、陣列遮罩與陣列切片
(類別模板)

[編輯] 數值演算法

標頭檔 <numeric> 提供下方數值演算法

[編輯] 因數運算 (自 C++17 起)

定義於標頭檔 <numeric>
計算兩個整數的最大公因數
(函式範本) [編輯]
計算兩個整數的最小公倍數
(函式範本) [編輯]

[編輯] 插值運算 (C++20)

定義於標頭檔 <numeric>
(C++20)
兩個數值或指標之間的中點
(函式範本) [編輯]
定義於標頭檔 <cmath>
(C++20)
線性插值函式
(函式) [編輯]

[編輯] 飽和運算 (自 C++26 起)

定義於標頭檔 <numeric>
(C++26)
對兩個整數執行飽和加法運算
(函式範本) [編輯]
(C++26)
對兩個整數執行飽和減法運算
(函式範本) [編輯]
(C++26)
對兩個整數執行飽和乘法運算
(函式範本) [編輯]
(C++26)
對兩個整數執行飽和除法運算
(函式範本) [編輯]
將整數值限制在另一個整數型別的範圍內
(函式範本) [編輯]

[編輯] 數值運算

定義於標頭檔 <numeric>
(C++11)
用起始值的連續遞增值填滿一個範圍
(函式模板) [編輯]
用起始值的連續遞增值填滿一個範圍
(演算法函式物件)[編輯]
對元素範圍進行加總或折疊
(函式模板) [編輯]
(C++17)
類似於 std::accumulate,但計算順序不固定
(函式模板) [編輯]
套用可呼叫對象後,再以不固定順序進行歸約 (reduce)
(函式模板) [編輯]
計算兩個元素範圍的內積
(函式模板) [編輯]
計算範圍中相鄰元素之間的差值
(函式模板) [編輯]
計算元素範圍的部分和 (partial sum)
(函式模板) [編輯]
類似於 std::partial_sum,且在第 i 個和中包含第 i 個輸入元素
(函式模板) [編輯]
類似於 std::partial_sum,但在第 i 個和中排除第 i 個輸入元素
(函式模板) [編輯]
套用可呼叫對象後,計算包含目前的掃描 (inclusive scan)
(函式模板) [編輯]
套用可呼叫對象後,計算不包含目前的掃描 (exclusive scan)
(函式模板) [編輯]

[編輯] 雜項

[編輯] 偽隨機數生成

標頭檔 <random> 定義 偽隨機數生成器與數值分佈。標頭檔 <cstdlib> 也透過 std::srandstd::rand 包含 C 風格的隨機數生成。

[編輯] 浮點數環境 (自 C++11 起)

標頭檔 <cfenv> 定義 與浮點數例外狀態相關的旗標與函式,例如溢位與除以零。

[編輯] 位元操作 (自 C++20 起)

標頭檔 <bit> 提供數種函式範本,用於存取、操作與處理個別位元與位元序列。純量型別的位元組序(endianness)可透過 std::endian 工具進行檢查。

[編輯] 參見

C 語言文件 關於 數值 (Numerics)
English Deutsch 日本語 中文(简体) 中文(繁體)