SLIP
1.4
|
Provides some derivative algorithms and derivative functors. More...
#include <iostream>
#include <cassert>
#include <vector>
#include "linear_algebra.hpp"
#include "linear_algebra_traits.hpp"
#include "convolution.hpp"
#include "Vector.hpp"
#include "Matrix.hpp"
#include "Point2d.hpp"
#include "Point3d.hpp"
#include "Point4d.hpp"
#include "neighbors.hpp"
Go to the source code of this file.
Namespaces | |
slip | |
This namespace corresponds to the kernel of the Simple Library on Image Processing (SLIP). That is to say that it contains the data structures and the algorithms needed by these data strucutres. | |
Enumerations | |
enum | slip::SPATIAL_DIRECTION { slip::X_DIRECTION, slip::Y_DIRECTION, slip::Z_DIRECTION } |
Choose between different spatial directions. More... | |
Functions | |
template<typename Real > | |
Real | slip::minmod (const Real gplus, const Real gminus) |
template<typename Real > | |
Real | slip::max_brockett_maragos_plus (const Real gplus, const Real gminus) |
template<typename Real > | |
Real | slip::max_brockett_maragos_minus (const Real gplus, const Real gminus) |
template<typename Real > | |
Real | slip::osher_sethian_plus (const Real gplus, const Real gminus) |
template<typename Real > | |
Real | slip::osher_sethian_minus (const Real gplus, const Real gminus) |
Differential operator algorithms | |
template<typename RandomAccessIteratorNd1 , typename RandomAccessIteratorNd2 , typename Operator > | |
void | slip::differential_operator (RandomAccessIteratorNd1 in_first, RandomAccessIteratorNd1 in_last, RandomAccessIteratorNd2 out_first, Operator &op) |
Applies a differential operator on a range. More... | |
template<typename RandomAccessIteratorNd1 , typename RandomAccessIteratorNd2 , typename RandomAccessIteratorNd3 , typename Operator1 , typename Operator2 > | |
void | slip::differential_operator_2 (RandomAccessIteratorNd1 in_first, RandomAccessIteratorNd1 in_last, RandomAccessIteratorNd2 out_first1, RandomAccessIteratorNd3 out_first2, Operator1 &op1, Operator2 &op2) |
Applies 2 differential operators on a range. More... | |
template<typename RandomAccessIteratorNd1 , typename RandomAccessIteratorNd2 , typename RandomAccessIteratorNd3 , typename RandomAccessIteratorNd4 , typename Operator1 , typename Operator2 , typename Operator3 > | |
void | slip::differential_operator_3 (RandomAccessIteratorNd1 in_first, RandomAccessIteratorNd1 in_last, RandomAccessIteratorNd2 out_first1, RandomAccessIteratorNd3 out_first2, RandomAccessIteratorNd4 out_first3, Operator1 &op1, Operator2 &op2, Operator3 &op3) |
Applies 3 differential operators on a range. More... | |
Derivatives algorithms | |
enum | slip::FOUR_DIM_DIRECTION { slip::T_DIRECTION, slip::S_DIRECTION, slip::R_DIRECTION, slip::C_DIRECTION } |
Choose between different directions in a 4D space. More... | |
template<class Container2D > | |
void | slip::finite_diff_coef (const std::size_t sch_ord, const std::size_t sch_shift, Container2D &Dinv) |
return finite differences coefficients for derivation based on Taylor series (sch_ord-sch_shift steps upwind). More... | |
template<class Container2D > | |
void | slip::finite_diff_coef (const std::size_t sch_ord, const std::size_t sch_shift, const typename Container2D::value_type &h, Container2D &Dinv) |
return finite differences coefficients for derivation based on Taylor series (sch_ord-sch_shift steps upwind) More... | |
template<typename KernelsIterator > | |
void | slip::finite_diff_kernels (const std::size_t der_ord, const std::size_t sch_ord, const std::size_t sch_shift, std::vector< KernelsIterator > &kernels_first) |
Computes finite differences kernels for derivation based on Taylor series (sch_ord-sch_shift steps upwind) More... | |
template<typename KernelsIterator > | |
void | slip::finite_diff_kernels (const std::size_t der_ord, const std::size_t sch_ord, const std::size_t sch_shift, const typename std::iterator_traits< KernelsIterator >::value_type &h, std::vector< KernelsIterator > &kernels_first) |
Computes finite differences kernels for derivation based on Taylor series (sch_ord-sch_shift steps upwind) More... | |
template<typename SrcIter , typename Container2D , typename ResIter > | |
void | slip::derivative (SrcIter first, SrcIter last, const std::size_t der_ord, const std::size_t sch_ord, const std::size_t sch_shift, const Container2D &M, ResIter result) |
Computes 1d finite differences derivatives of an iterator range. More... | |
template<typename SrcIter , typename KernelsIterator , typename ResIter > | |
void | slip::derivative (SrcIter first, SrcIter last, const std::size_t der_ord, const std::size_t sch_ord, const std::size_t sch_shift, const std::vector< KernelsIterator > &kernels_first, ResIter result) |
Computes 1d finite differences derivatives of an iterator range. More... | |
template<typename Iterator2d1 , typename Iterator2d2 , typename T > | |
void | slip::derivative_2d (Iterator2d1 I_up, Iterator2d1 I_bot, const slip::Point2d< T > &grid_step, slip::SPATIAL_DIRECTION der_dir, const std::size_t der_order, const std::size_t sch_order, Iterator2d2 R_up, Iterator2d2 R_bot) |
Computes finite differences derivatives of a 2d range. More... | |
template<typename RandomAccessIterator3d1 , typename RandomAccessIterator3d2 , typename T > | |
void | slip::derivative_3d (RandomAccessIterator3d1 I_fup, RandomAccessIterator3d1 I_back_bot, const slip::Point3d< T > &grid_step, slip::SPATIAL_DIRECTION der_dir, const std::size_t der_order, const std::size_t sch_order, RandomAccessIterator3d2 R_fup, RandomAccessIterator3d2 R_back_bot) |
Computes finite differences derivatives of a 3d range. More... | |
template<typename RandomAccessIterator4d1 , typename RandomAccessIterator4d2 , typename T > | |
void | slip::derivative_4d (RandomAccessIterator4d1 I_ffup, RandomAccessIterator4d1 I_last_back_bot, const slip::Point4d< T > &grid_step, slip::FOUR_DIM_DIRECTION der_dir, const std::size_t der_order, const std::size_t sch_order, RandomAccessIterator4d2 R_ffup, RandomAccessIterator4d2 R_last_back_bot) |
Computes finite differences derivatives of a 4d range. More... | |
Provides some derivative algorithms and derivative functors.
Definition in file derivatives.hpp.