|
MSTL 1.4.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
MSTL数值算法的实现 更多...
函数 | |
| template<typename Iterator, typename T, typename BinaryOperation, enable_if_t< is_ranges_input_iter_v< Iterator >, int > = 0> | |
| MSTL_CONSTEXPR20 T | accumulate (Iterator first, Iterator second, T init, BinaryOperation binary_op) |
| 累积计算 | |
| template<typename Iterator, typename T> | |
| MSTL_CONSTEXPR20 T | accumulate (Iterator first, Iterator second, T init) |
| 累积计算 | |
| template<typename Iterator1, typename Iterator2, typename BinaryOperation, enable_if_t< is_ranges_input_iter_v< Iterator1 > &&is_ranges_input_iter_v< Iterator2 >, int > = 0> | |
| MSTL_CONSTEXPR20 Iterator2 | adjacent_difference (Iterator1 first, Iterator1 last, Iterator2 result, BinaryOperation binary_op) |
| 相邻差分计算 | |
| template<typename Iterator1, typename Iterator2> | |
| MSTL_CONSTEXPR20 Iterator2 | adjacent_difference (Iterator1 first, Iterator1 last, Iterator2 result) |
| 相邻差分计算 | |
| template<typename Iterator1, typename Iterator2, typename T, typename BinaryOperation1, typename BinaryOperation2, enable_if_t< is_ranges_input_iter_v< Iterator1 > &&is_ranges_input_iter_v< Iterator2 >, int > = 0> | |
| MSTL_CONSTEXPR20 T | inner_product (Iterator1 first1, Iterator1 last1, Iterator2 first2, T init, BinaryOperation1 binary_op1, BinaryOperation2 binary_op2) |
| 内积计算 | |
| template<typename Iterator1, typename Iterator2, typename T> | |
| MSTL_CONSTEXPR20 T | inner_product (Iterator1 first1, Iterator1 last1, Iterator2 first2, T init) |
| 内积计算 | |
| template<typename Iterator1, typename Iterator2, typename BinaryOperation, enable_if_t< is_ranges_input_iter_v< Iterator1 > &&is_ranges_input_iter_v< Iterator2 >, int > = 0> | |
| MSTL_CONSTEXPR20 Iterator2 | partial_sum (Iterator1 first, Iterator1 last, Iterator2 result, BinaryOperation binary_op) |
| 部分和计算 | |
| template<typename Iterator1, typename Iterator2> | |
| MSTL_CONSTEXPR20 Iterator2 | partial_sum (Iterator1 first, Iterator1 last, Iterator2 result) |
| 部分和计算 | |
| template<typename Iterator, typename T, enable_if_t< is_ranges_input_iter_v< Iterator >, int > = 0> | |
| MSTL_CONSTEXPR20 void | sequence_fill (Iterator first, Iterator last, T value) |
| 顺序填充递增序列 | |
MSTL数值算法的实现
| MSTL_CONSTEXPR20 T accumulate | ( | Iterator | first, |
| Iterator | second, | ||
| T | init ) |
累积计算
| Iterator | 输入迭代器类型 |
| T | 初始值类型 |
| first | 范围起始迭代器 |
| second | 范围结束迭代器 |
| init | 初始值 |
默认使用加法运算的累积计算。
在文件 numeric.hpp 第 56 行定义.
引用了 _MSTL , 以及 accumulate().
| MSTL_CONSTEXPR20 T accumulate | ( | Iterator | first, |
| Iterator | second, | ||
| T | init, | ||
| BinaryOperation | binary_op ) |
累积计算
| Iterator | 输入迭代器类型 |
| T | 初始值类型 |
| BinaryOperation | 二元操作类型 |
| first | 范围起始迭代器 |
| second | 范围结束迭代器 |
| init | 初始值 |
| binary_op | 二元操作函数对象 |
对范围 [first, second) 中的元素执行累积计算
在文件 numeric.hpp 第 37 行定义.
被这些函数引用 accumulate().
| MSTL_CONSTEXPR20 Iterator2 adjacent_difference | ( | Iterator1 | first, |
| Iterator1 | last, | ||
| Iterator2 | result ) |
相邻差分计算
| Iterator1 | 输入迭代器类型 |
| Iterator2 | 输出迭代器类型 |
| first | 输入范围起始迭代器 |
| last | 输入范围结束迭代器 |
| result | 输出范围起始迭代器 |
默认使用减法运算的相邻差分计算。
在文件 numeric.hpp 第 102 行定义.
引用了 _MSTL , 以及 adjacent_difference().
| MSTL_CONSTEXPR20 Iterator2 adjacent_difference | ( | Iterator1 | first, |
| Iterator1 | last, | ||
| Iterator2 | result, | ||
| BinaryOperation | binary_op ) |
相邻差分计算
| Iterator1 | 输入迭代器类型 |
| Iterator2 | 输出迭代器类型 |
| BinaryOperation | 二元操作类型 |
| first | 输入范围起始迭代器 |
| last | 输入范围结束迭代器 |
| result | 输出范围起始迭代器 |
| binary_op | 二元操作函数对象 |
计算相邻元素的差分并存储到输出范围。
在文件 numeric.hpp 第 75 行定义.
被这些函数引用 adjacent_difference().
| MSTL_CONSTEXPR20 T inner_product | ( | Iterator1 | first1, |
| Iterator1 | last1, | ||
| Iterator2 | first2, | ||
| T | init ) |
内积计算
| Iterator1 | 第一个输入迭代器类型 |
| Iterator2 | 第二个输入迭代器类型 |
| T | 初始值类型 |
| first1 | 第一个范围起始迭代器 |
| last1 | 第一个范围结束迭代器 |
| first2 | 第二个范围起始迭代器 |
| init | 初始值 |
默认使用乘法和加法运算的内积计算,即点积。
在文件 numeric.hpp 第 147 行定义.
引用了 _MSTL , 以及 inner_product().
| MSTL_CONSTEXPR20 T inner_product | ( | Iterator1 | first1, |
| Iterator1 | last1, | ||
| Iterator2 | first2, | ||
| T | init, | ||
| BinaryOperation1 | binary_op1, | ||
| BinaryOperation2 | binary_op2 ) |
内积计算
| Iterator1 | 第一个输入迭代器类型 |
| Iterator2 | 第二个输入迭代器类型 |
| T | 初始值类型 |
| BinaryOperation1 | 第一个二元操作类型 |
| BinaryOperation2 | 第二个二元操作类型 |
| first1 | 第一个范围起始迭代器 |
| last1 | 第一个范围结束迭代器 |
| first2 | 第二个范围起始迭代器 |
| init | 初始值 |
| binary_op1 | 累积操作函数对象 |
| binary_op2 | 元素对操作函数对象 |
计算两个范围的内积。
在文件 numeric.hpp 第 125 行定义.
被这些函数引用 inner_product().
| MSTL_CONSTEXPR20 Iterator2 partial_sum | ( | Iterator1 | first, |
| Iterator1 | last, | ||
| Iterator2 | result ) |
部分和计算
| Iterator1 | 输入迭代器类型 |
| Iterator2 | 输出迭代器类型 |
| first | 输入范围起始迭代器 |
| last | 输入范围结束迭代器 |
| result | 输出范围起始迭代器 |
默认使用加法运算的部分和计算,即前缀和。
在文件 numeric.hpp 第 189 行定义.
引用了 _MSTL , 以及 partial_sum().
| MSTL_CONSTEXPR20 Iterator2 partial_sum | ( | Iterator1 | first, |
| Iterator1 | last, | ||
| Iterator2 | result, | ||
| BinaryOperation | binary_op ) |
部分和计算
| Iterator1 | 输入迭代器类型 |
| Iterator2 | 输出迭代器类型 |
| BinaryOperation | 二元操作类型 |
| first | 输入范围起始迭代器 |
| last | 输入范围结束迭代器 |
| result | 输出范围起始迭代器 |
| binary_op | 二元操作函数对象 |
计算前缀和并存储到输出范围。
在文件 numeric.hpp 第 166 行定义.
被这些函数引用 partial_sum().
| MSTL_CONSTEXPR20 void sequence_fill | ( | Iterator | first, |
| Iterator | last, | ||
| T | value ) |
顺序填充递增序列
| Iterator | 输出迭代器类型 |
| T | 值类型 |
| first | 范围起始迭代器 |
| last | 范围结束迭代器 |
| value | 起始值 |
用从value开始的连续值填充范围 [first, last)。
在文件 numeric.hpp 第 204 行定义.