NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
数值算法

数值算法的实现 更多...

数值算法 的协作图:

函数

template<typename Iterator, typename T, typename BinaryOperation>
constexpr T accumulate (Iterator first, Iterator second, T init, BinaryOperation binary_op)
 累积计算
template<typename Iterator, typename T>
constexpr T accumulate (Iterator first, Iterator second, T init)
 累积计算
template<typename Iterator1, typename Iterator2, typename BinaryOperation>
constexpr Iterator2 adjacent_difference (Iterator1 first, Iterator1 last, Iterator2 result, BinaryOperation binary_op)
 相邻差分计算
template<typename Iterator1, typename Iterator2>
constexpr Iterator2 adjacent_difference (Iterator1 first, Iterator1 last, Iterator2 result)
 相邻差分计算
template<typename Iterator1, typename Iterator2, typename T, typename BinaryOperation1, typename BinaryOperation2>
constexpr T inner_product (Iterator1 first1, Iterator1 last1, Iterator2 first2, T init, BinaryOperation1 binary_op1, BinaryOperation2 binary_op2)
 内积计算
template<typename Iterator1, typename Iterator2, typename T>
constexpr T inner_product (Iterator1 first1, Iterator1 last1, Iterator2 first2, T init)
 内积计算
template<typename Iterator1, typename Iterator2, typename BinaryOperation>
constexpr Iterator2 partial_sum (Iterator1 first, Iterator1 last, Iterator2 result, BinaryOperation binary_op)
 部分和计算
template<typename Iterator1, typename Iterator2>
constexpr Iterator2 partial_sum (Iterator1 first, Iterator1 last, Iterator2 result)
 部分和计算
template<typename Iterator, typename T>
constexpr void sequence_fill (Iterator first, Iterator last, T value)
 顺序填充递增序列
template<typename Iterator, typename T>
 NEFORCE_DEPRECATED_FOR ("using sequence_fill instead of iota") const expr void iota(Iterator first
 顺序填充递增序列(别名)

详细描述

数值算法的实现

函数说明

◆ accumulate() [1/2]

template<typename Iterator, typename T>
T accumulate ( Iterator first,
Iterator second,
T init )
constexpr

累积计算

模板参数
Iterator输入迭代器类型
T初始值类型
参数
first范围起始迭代器
second范围结束迭代器
init初始值
返回
所有元素与初始值的和

默认使用加法运算的累积计算。

在文件 numeric.hpp62 行定义.

引用了 accumulate().

◆ accumulate() [2/2]

template<typename Iterator, typename T, typename BinaryOperation>
T accumulate ( Iterator first,
Iterator second,
T init,
BinaryOperation binary_op )
constexpr

累积计算

模板参数
Iterator输入迭代器类型
T初始值类型
BinaryOperation二元操作类型
参数
first范围起始迭代器
second范围结束迭代器
init初始值
binary_op二元操作函数对象
返回
累积计算的结果

对范围 [first, second) 中的元素执行累积计算

在文件 numeric.hpp42 行定义.

引用了 is_ranges_input_iter_v.

被这些函数引用 accumulate().

◆ adjacent_difference() [1/2]

template<typename Iterator1, typename Iterator2>
Iterator2 adjacent_difference ( Iterator1 first,
Iterator1 last,
Iterator2 result )
constexpr

相邻差分计算

模板参数
Iterator1输入迭代器类型
Iterator2输出迭代器类型
参数
first输入范围起始迭代器
last输入范围结束迭代器
result输出范围起始迭代器
返回
输出范围结束迭代器

默认使用减法运算的相邻差分计算。

在文件 numeric.hpp113 行定义.

引用了 adjacent_difference().

◆ adjacent_difference() [2/2]

template<typename Iterator1, typename Iterator2, typename BinaryOperation>
Iterator2 adjacent_difference ( Iterator1 first,
Iterator1 last,
Iterator2 result,
BinaryOperation binary_op )
constexpr

相邻差分计算

模板参数
Iterator1输入迭代器类型
Iterator2输出迭代器类型
BinaryOperation二元操作类型
参数
first输入范围起始迭代器
last输入范围结束迭代器
result输出范围起始迭代器
binary_op二元操作函数对象
返回
输出范围结束迭代器

计算相邻元素的差分并存储到输出范围。

在文件 numeric.hpp80 行定义.

引用了 is_ranges_input_iter_v.

被这些函数引用 adjacent_difference().

◆ inner_product() [1/2]

template<typename Iterator1, typename Iterator2, typename T>
T inner_product ( Iterator1 first1,
Iterator1 last1,
Iterator2 first2,
T init )
constexpr

内积计算

模板参数
Iterator1第一个输入迭代器类型
Iterator2第二个输入迭代器类型
T初始值类型
参数
first1第一个范围起始迭代器
last1第一个范围结束迭代器
first2第二个范围起始迭代器
init初始值
返回
两个范围的内积

默认使用乘法和加法运算的内积计算,即点积。

在文件 numeric.hpp161 行定义.

引用了 inner_product().

◆ inner_product() [2/2]

template<typename Iterator1, typename Iterator2, typename T, typename BinaryOperation1, typename BinaryOperation2>
T inner_product ( Iterator1 first1,
Iterator1 last1,
Iterator2 first2,
T init,
BinaryOperation1 binary_op1,
BinaryOperation2 binary_op2 )
constexpr

内积计算

模板参数
Iterator1第一个输入迭代器类型
Iterator2第二个输入迭代器类型
T初始值类型
BinaryOperation1第一个二元操作类型
BinaryOperation2第二个二元操作类型
参数
first1第一个范围起始迭代器
last1第一个范围结束迭代器
first2第二个范围起始迭代器
init初始值
binary_op1累积操作函数对象
binary_op2元素对操作函数对象
返回
两个范围的内积结果

计算两个范围的内积。

在文件 numeric.hpp135 行定义.

引用了 is_ranges_input_iter_v.

被这些函数引用 inner_product().

◆ NEFORCE_DEPRECATED_FOR()

template<typename Iterator, typename T>
NEFORCE_DEPRECATED_FOR ( "using sequence_fill instead of iota" ) const

顺序填充递增序列(别名)

模板参数
Iterator输出迭代器类型
T值类型
参数
first范围起始迭代器
last范围结束迭代器
value起始值

用从value开始的连续值填充范围 [first, last)。

引用了 move() , 以及 sequence_fill().

◆ partial_sum() [1/2]

template<typename Iterator1, typename Iterator2>
Iterator2 partial_sum ( Iterator1 first,
Iterator1 last,
Iterator2 result )
constexpr

部分和计算

模板参数
Iterator1输入迭代器类型
Iterator2输出迭代器类型
参数
first输入范围起始迭代器
last输入范围结束迭代器
result输出范围起始迭代器
返回
输出范围结束迭代器

默认使用加法运算的部分和计算,即前缀和。

在文件 numeric.hpp210 行定义.

引用了 partial_sum().

◆ partial_sum() [2/2]

template<typename Iterator1, typename Iterator2, typename BinaryOperation>
Iterator2 partial_sum ( Iterator1 first,
Iterator1 last,
Iterator2 result,
BinaryOperation binary_op )
constexpr

部分和计算

模板参数
Iterator1输入迭代器类型
Iterator2输出迭代器类型
BinaryOperation二元操作类型
参数
first输入范围起始迭代器
last输入范围结束迭代器
result输出范围起始迭代器
binary_op二元操作函数对象
返回
输出范围结束迭代器

计算前缀和并存储到输出范围。

在文件 numeric.hpp179 行定义.

引用了 is_ranges_input_iter_v.

被这些函数引用 partial_sum().

◆ sequence_fill()

template<typename Iterator, typename T>
void sequence_fill ( Iterator first,
Iterator last,
T value )
constexpr

顺序填充递增序列

模板参数
Iterator输出迭代器类型
T值类型
参数
first范围起始迭代器
last范围结束迭代器
value起始值

用从value开始的连续值填充范围 [first, last)。

在文件 numeric.hpp225 行定义.

引用了 is_ranges_input_iter_v.

被这些函数引用 NEFORCE_DEPRECATED_FOR().