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

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

数值算法 的协作图:

函数

template<typename Iterator, typename T, typename BinaryOperation>
NEFORCE_CONSTEXPR20 T accumulate (Iterator first, Iterator second, T init, BinaryOperation binary_op)
 累积计算
template<typename Iterator, typename T>
NEFORCE_CONSTEXPR20 T accumulate (Iterator first, Iterator second, T init)
 累积计算
template<typename Iterator1, typename Iterator2, typename BinaryOperation>
NEFORCE_CONSTEXPR20 Iterator2 adjacent_difference (Iterator1 first, Iterator1 last, Iterator2 result, BinaryOperation binary_op)
 相邻差分计算
template<typename Iterator1, typename Iterator2>
NEFORCE_CONSTEXPR20 Iterator2 adjacent_difference (Iterator1 first, Iterator1 last, Iterator2 result)
 相邻差分计算
template<typename Iterator1, typename Iterator2, typename T, typename BinaryOperation1, typename BinaryOperation2>
NEFORCE_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>
NEFORCE_CONSTEXPR20 T inner_product (Iterator1 first1, Iterator1 last1, Iterator2 first2, T init)
 内积计算
template<typename Iterator1, typename Iterator2, typename BinaryOperation>
NEFORCE_CONSTEXPR20 Iterator2 partial_sum (Iterator1 first, Iterator1 last, Iterator2 result, BinaryOperation binary_op)
 部分和计算
template<typename Iterator1, typename Iterator2>
NEFORCE_CONSTEXPR20 Iterator2 partial_sum (Iterator1 first, Iterator1 last, Iterator2 result)
 部分和计算
template<typename Iterator, typename T>
NEFORCE_CONSTEXPR20 void sequence_fill (Iterator first, Iterator last, T value)
 顺序填充递增序列

详细描述

数值算法的实现

函数说明

◆ accumulate() [1/2]

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

累积计算

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

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

在文件 numeric.hpp62 行定义.

引用了 accumulate().

◆ accumulate() [2/2]

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

累积计算

模板参数
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>
NEFORCE_CONSTEXPR20 Iterator2 adjacent_difference ( Iterator1 first,
Iterator1 last,
Iterator2 result )

相邻差分计算

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

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

在文件 numeric.hpp113 行定义.

引用了 adjacent_difference().

◆ adjacent_difference() [2/2]

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

相邻差分计算

模板参数
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>
NEFORCE_CONSTEXPR20 T inner_product ( Iterator1 first1,
Iterator1 last1,
Iterator2 first2,
T init )

内积计算

模板参数
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>
NEFORCE_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.hpp135 行定义.

引用了 is_ranges_input_iter_v.

被这些函数引用 inner_product().

◆ partial_sum() [1/2]

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

部分和计算

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

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

在文件 numeric.hpp210 行定义.

引用了 partial_sum().

◆ partial_sum() [2/2]

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

部分和计算

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

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

在文件 numeric.hpp179 行定义.

引用了 is_ranges_input_iter_v.

被这些函数引用 partial_sum().

◆ sequence_fill()

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

顺序填充递增序列

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

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

在文件 numeric.hpp225 行定义.

引用了 is_ranges_input_iter_v.