FEAT 3
Finite Element Analysis Toolbox
Loading...
Searching...
No Matches
FEAT::Math Namespace Reference

FEAT Math namespace. More...

Classes

class  Limits
 Math Limits class template. More...
 

Functions

template<typename T_ >
T_ abs (T_ x)
 Returns the absolute value. More...
 
template<typename T_ >
T_ acos (T_ x)
 Returns the arccosine of a value. More...
 
template<typename T_ >
T_ asin (T_ x)
 Returns the arcsine of a value. More...
 
template<typename T_ >
T_ atan (T_ x)
 Returns the arctangent of a value. More...
 
template<typename T_ >
T_ atan2 (T_ y, T_ x)
 Returns the arctangent of y/x. More...
 
template<typename T_ >
T_ binomial (T_ n, T_ k)
 Calculates the binomial coefficient. More...
 
template<typename DT_ >
DT_ calc_opening_angle (DT_ x1, DT_ x2, DT_ y1, DT_ y2)
 Calculates the opening angle of two 2D vectors. More...
 
template<typename DT_ >
DT_ calc_opening_angle_intern (DT_ cross_prod, DT_ dot_prod)
 Calculates the opening angle from the dot and cross product of two 2D vectors. More...
 
template<typename T_ >
T_ clamp (T_ x, T_ a, T_ b)
 Clamps a value to a range. More...
 
template<typename T_ >
T_ cos (T_ x)
 Returns the cosine of a value. More...
 
template<typename T_ >
T_ cosh (T_ x)
 Returns the hyperbolic cosine of a value. More...
 
template<typename T_ >
T_ cub (T_ x)
 Returns the cube of a value. More...
 
template<typename T_ >
T_ eps ()
 Returns the machine precision constant for a floating-point data type. More...
 
template<typename T_ >
T_ exp (T_ x)
 Returns the exponential of a value. More...
 
template<typename T_ >
T_ factorial (T_ n, T_ m=T_(0))
 Calculates the (partial) factorial. More...
 
template<typename T_ >
T_ huge ()
 Returns the maximum positive finite (full-precision) value for a data type. More...
 
template<typename T_ >
T_ ilog10 (T_ x)
 Computes the integral base-10 logarithm of an integer, i.e. its number of non-zero decimal digits. More...
 
template<typename DT_ , typename IT_ >
DT_ invert_matrix (const IT_ n, const IT_ stride, DT_ a[], IT_ p[])
 Inverts a matrix and returns its determinant. More...
 
template<typename T_ >
bool isfinite (T_ x)
 Checks whether a value is finite. More...
 
template<typename T_ >
bool isinf (T_ x)
 Checks whether a value is infinite. More...
 
template<typename T_ >
bool isnan (T_ x)
 Checks whether a value is Not-A-Number. More...
 
template<typename T_ >
bool isnormal (T_ x)
 Checks whether a value is normal. More...
 
template<typename T_ >
T_ log (T_ x)
 Returns the natural logarithm of a value. More...
 
template<typename T_ >
T_ log10 (T_ x)
 Returns the logarithm to the base 10 of a value. More...
 
template<typename T_ >
T_ max (T_ a, T_ b)
 Returns the maximum of two values. More...
 
template<typename T_ >
void maxi (T_ &xmax, T_ x)
 Updates the maximum of a set of values. More...
 
template<typename T_ >
T_ min (T_ a, T_ b)
 Returns the minimum of two values. More...
 
template<typename T_ >
void mini (T_ &xmin, T_ x)
 Updates the minimum of a set of values. More...
 
template<typename T_ >
void minimax (T_ x, T_ &a, T_ &b)
 Updates the minimum and maximum. More...
 
template<typename T_ >
T_ nan ()
 Returns a quiet Not-A-Number (NaN) More...
 
template<typename T_ >
T_ pi ()
 Returns the mathematical constant pi = 3.1415... More...
 
template<typename T_ >
T_ pow (T_ x, T_ y)
 Returns x raised to the power of y. More...
 
template<typename T_ >
bool signbit (T_ x)
 Returns the status of the sign bit. More...
 
template<typename T_ >
T_ signum (T_ x)
 Returns the sign of a value. More...
 
template<typename T_ >
T_ sin (T_ x)
 Returns the sine of a value. More...
 
template<typename T_ >
T_ sinh (T_ x)
 Returns the hyperbolic sine of a value. More...
 
template<typename T_ >
T_ sqr (T_ x)
 Returns the square of a value. More...
 
template<typename T_ >
T_ sqrt (T_ x)
 Returns the square-root of a value. More...
 
template<typename T_ >
T_ tan (T_ x)
 Returns the tangent of a value. More...
 
template<typename T_ >
T_ tanh (T_ x)
 Returns the hyperbolic tangent of a value. More...
 
template<typename T_ >
T_ tiny ()
 Returns the minimum positive finite (full-precision) value for a data type. More...
 

Detailed Description

FEAT Math namespace.

This namespace encapsulates common mathematical functions used throughout the FEAT kernel. This namespace contains all math functions from the standard cmath header.

Function Documentation

◆ abs()

template<typename T_ >
T_ FEAT::Math::abs ( T_  x)
inline

Returns the absolute value.

Parameters
[in]xThe value to get the absolute value from.
Returns
abs(x)

Definition at line 275 of file math.hpp.

Referenced by FEAT::Solver::MQCLinesearch< Functional_, Filter_ >::_apply_intern(), FEAT::Solver::SecantLinesearch< Functional_, Filter_ >::_apply_intern(), FEAT::Solver::MQCLinesearch< Functional_, Filter_ >::_argmin_cubic(), FEAT::Solver::MQCLinesearch< Functional_, Filter_ >::_argmin_cubic_case_3(), FEAT::Geometry::VoxelMap::_calc_sample_rate(), FEAT::Solver::Linesearch< Functional_, Filter_ >::_check_convergence(), FEAT::Global::PMDCDSCMatrix< Global::Matrix< LAFEM::SparseMatrixBCSR< DT_, IT_, dim_, 1 >, MirrorV_, MirrorP_ >, Global::Matrix< LAFEM::SparseMatrixBCSR< DT_, IT_, 1, dim_ >, MirrorP_, MirrorV_ > >::_fmt_time(), FEAT::Solver::MQCLinesearch< Functional_, Filter_ >::_polynomial_fit(), FEAT::Solver::NLOptLS< Functional_, Filter_ >::_set_new_defect(), FEAT::Solver::Linesearch< Functional_, Filter_ >::_startup(), FEAT::Assembly::FunctionIntegralInfo< DataType_, ValueType_, GradientType_, HessianType_ >::add_value(), FEAT::LAFEM::DenseMatrix< DT_, IT_ >::apply(), FEAT::LAFEM::SparseMatrixBanded< DT_, IT_ >::apply(), FEAT::LAFEM::SparseMatrixBCSR< DT_, IT_, BlockHeight_, BlockWidth_ >::apply(), FEAT::LAFEM::SparseMatrixCSCR< DT_, IT_ >::apply(), FEAT::LAFEM::SparseMatrixCSR< DT_, IT_ >::apply(), FEAT::LAFEM::DenseMatrix< DT_, IT_ >::apply_transposed(), FEAT::LAFEM::SparseMatrixBanded< DT_, IT_ >::apply_transposed(), FEAT::LAFEM::SparseMatrixBCSR< DT_, IT_, BlockHeight_, BlockWidth_ >::apply_transposed(), FEAT::LAFEM::SparseMatrixCSCR< DT_, IT_ >::apply_transposed(), FEAT::LAFEM::SparseMatrixCSR< DT_, IT_ >::apply_transposed(), FEAT::Assembly::BurgersAssembler< DataType_, IndexType_, dim_ >::assemble_matrix(), FEAT::Assembly::BurgersAssemblerCarreau< DataType_, IndexType_, dim_ >::assemble_matrix(), FEAT::Assembly::BurgersAssembler< DataType_, IndexType_, dim_ >::assemble_scalar_matrix(), FEAT::Assembly::BurgersAssembler< DataType_, IndexType_, dim_ >::assemble_vector(), FEAT::Assembly::BurgersAssemblerCarreau< DataType_, IndexType_, dim_ >::assemble_vector(), atan(), FEAT::VoxelAssembly::Kernel::burgers_defect_assembly_kernel(), FEAT::VoxelAssembly::Kernel::burgers_mat_assembly_kernel(), FEAT::VoxelAssembly::Kernel::burgers_velo_material_defect_assembly_kernel(), FEAT::VoxelAssembly::Kernel::burgers_velo_material_mat_assembly_kernel(), FEAT::Solver::IterativeSolver< Vector_ >::calc_defect_reduction(), calc_opening_angle_intern(), FEAT::Geometry::Atlas::SurfaceMesh< Mesh_ >::compute_bary_and_dist(), FEAT::Meshopt::DuDvFunctional< DT_, IT_, TrafoType_, MatrixType_ >::compute_cell_size_defect_post_sync(), FEAT::Meshopt::HyperelasticityFunctional< DT_, IT_, Trafo_, CellFunctionalType_, RefCellTrafo_ >::compute_cell_size_defect_post_sync(), FEAT::Geometry::Atlas::Circle< Mesh_ >::compute_dist(), FEAT::Geometry::Atlas::Sphere< Mesh_ >::compute_dist(), FEAT::Geometry::Atlas::SurfaceMesh< Mesh_ >::compute_dist(), FEAT::Meshopt::ChartDistanceFunction< ElementalFunction_, Trafo_, RefCellTrafo_ >::compute_dist_add(), FEAT::Meshopt::ChartDistanceFunction< ElementalFunction_, Trafo_, RefCellTrafo_ >::compute_dist_min(), FEAT::Geometry::Atlas::Bezier< Mesh_ >::compute_signed_dist(), FEAT::Meshopt::ConcentrationFunctionPowOfDist< DT_ >::conc_der(), FEAT::Meshopt::ConcentrationFunctionPowOfDist< DT_ >::conc_val(), FEAT::Meshopt::ConcentrationFunctionDefault< DT_ >::conc_val(), FEAT::Solver::Linesearch< Functional_, Filter_ >::get_rel_update(), FEAT::VoxelAssembly::Kernel::grouped_burgers_mat_alt_assembly_kernel(), FEAT::VoxelAssembly::Kernel::grouped_burgers_mat_assembly_kernel(), FEAT::Solver::Chebyshev< Matrix_, Filter_ >::init_numeric(), invert_matrix(), FEAT::LAFEM::DenseVector< DT_, IT_ >::max_abs_element(), FEAT::LAFEM::DenseVectorBlocked< DT_, IT_, BlockSize_ >::max_abs_element(), FEAT::LAFEM::SparseMatrixBCSR< DT_, IT_, BlockHeight_, BlockWidth_ >::max_abs_element(), FEAT::LAFEM::SparseMatrixCSR< DT_, IT_ >::max_abs_element(), FEAT::LAFEM::SparseVector< DT_, IT_ >::max_abs_element(), FEAT::LAFEM::SparseVectorBlocked< DT_, IT_, BlockSize_ >::max_abs_element(), FEAT::LAFEM::DenseVector< DT_, IT_ >::min_abs_element(), FEAT::LAFEM::DenseVectorBlocked< DT_, IT_, BlockSize_ >::min_abs_element(), FEAT::LAFEM::SparseMatrixBCSR< DT_, IT_, BlockHeight_, BlockWidth_ >::min_abs_element(), FEAT::LAFEM::SparseMatrixCSR< DT_, IT_ >::min_abs_element(), FEAT::LAFEM::SparseVector< DT_, IT_ >::min_abs_element(), FEAT::LAFEM::SparseVectorBlocked< DT_, IT_, BlockSize_ >::min_abs_element(), FEAT::Tiny::Vector< T_, n_, s_ >::norm_l1(), FEAT::Tiny::Vector< T_, n_, s_ >::norm_l1_n(), FEAT::Tiny::Vector< T_, n_, s_ >::norm_max(), FEAT::Tiny::Vector< T_, n_, s_ >::norm_max_n(), FEAT::Tiny::Vector< T_, n_, s_ >::normalized(), FEAT::Geometry::Atlas::Bezier< Mesh_ >::project_on_segment(), FEAT::Solver::Linesearch< Functional_, Filter_ >::set_initial_fval(), FEAT::Geometry::Atlas::Bezier< Mesh_ >::set_orientation(), and FEAT::LAFEM::SparseMatrixCSR< DT_, IT_ >::shrink().

◆ acos()

template<typename T_ >
T_ FEAT::Math::acos ( T_  x)
inline

Returns the arccosine of a value.

Parameters
[in]xThe value to calculate the arccosine from.
Returns
acos(x)

Definition at line 967 of file math.hpp.

References asin().

Referenced by calc_opening_angle_intern().

◆ asin()

template<typename T_ >
T_ FEAT::Math::asin ( T_  x)
inline

Returns the arcsine of a value.

Parameters
[in]xThe value to calculate the arcsine from.
Returns
asin(x)

Definition at line 949 of file math.hpp.

References atan(), signum(), and sqrt().

Referenced by acos(), and calc_opening_angle_intern().

◆ atan()

template<typename T_ >
T_ FEAT::Math::atan ( T_  x)
inline

Returns the arctangent of a value.

Parameters
[in]xThe value to calculate the arctangent from.
Returns
atan(x)

Definition at line 662 of file math.hpp.

References abs(), and sqrt().

Referenced by asin(), and atan2().

◆ atan2()

template<typename T_ >
T_ FEAT::Math::atan2 ( T_  y,
T_  x 
)
inline

Returns the arctangent of y/x.

Parameters
[in]yThe nominator of the value to calculate the arctangent from.
[in]xThe denominator of the value to calculate the arctangent from.
Returns
atan2(y,x) = atan(y/x)

Definition at line 708 of file math.hpp.

References atan(), and sqrt().

Referenced by FEAT::Geometry::Atlas::Extrude< Mesh_, SubChart_ >::write().

◆ binomial()

template<typename T_ >
T_ FEAT::Math::binomial ( T_  n,
T_  k 
)
inline

Calculates the binomial coefficient.

This function calculates the binomial coefficient

\[ {n \choose k} := \frac{n!}{k!(n-k)!} \]

Attention
This function works only for integral data types; it will give incorrect results for floating point data types!
Parameters
[in]n,kThe parameters for the binomial coefficient.
Returns
The binomial coefficient n choose k.
Author
Peter Zajac

Definition at line 1196 of file math.hpp.

References min().

◆ calc_opening_angle()

template<typename DT_ >
DT_ FEAT::Math::calc_opening_angle ( DT_  x1,
DT_  x2,
DT_  y1,
DT_  y2 
)

Calculates the opening angle of two 2D vectors.

This function calculates the opening angle between two unit 2D vectors x and y in a right handed matter, i.e. the angle is returned required to transform x into y in an anti-clockwise rotation. The angle is calculated on the [0, 2\pi) domain.

Template Parameters
DT_The data
Parameters
[in]x1,x2The first and second value of x.
[in]y1,y2The first and second value of y.

Definition at line 1450 of file math.hpp.

References calc_opening_angle_intern(), sqr(), and sqrt().

Referenced by FEAT::Analytic::PolarCoordinate< Function_, pos_range_ >::PolarCoordinate(), and FEAT::Tiny::calculate_opening_angle().

◆ calc_opening_angle_intern()

template<typename DT_ >
DT_ FEAT::Math::calc_opening_angle_intern ( DT_  cross_prod,
DT_  dot_prod 
)

Calculates the opening angle from the dot and cross product of two 2D vectors.

This function calculates the opening angle between two unit 2D vectors x and y in a right handed matter, i.e. the angle is returned required to transform x into y in an anti-clockwise rotation. The angle is calculated on the [0, 2\pi) domain.

Template Parameters
DT_The data
Parameters
[in]cross_prodThe cross product of vector x and y.
[in]dot_pordThe dot product of vector x and y.
Attention
The implicit vectors x and y have to be normalized.

Definition at line 1414 of file math.hpp.

References abs(), acos(), and asin().

Referenced by calc_opening_angle().

◆ clamp()

template<typename T_ >
T_ FEAT::Math::clamp ( T_  x,
T_  a,
T_  b 
)
inline

Clamps a value to a range.

Parameters
[in]xThe value to be clamped.
[in]a,bThe clamp boundaries.
Returns
max(a, min(x, b))

Definition at line 216 of file math.hpp.

References max(), and min().

Referenced by FEAT::Geometry::Atlas::Bezier< Mesh_ >::project_on_segment().

◆ cos()

template<typename T_ >
T_ FEAT::Math::cos ( T_  x)
inline

Returns the cosine of a value.

Parameters
[in]xThe value to calculate the cosine from.
Returns
cos(x)

Definition at line 386 of file math.hpp.

Referenced by FEAT::Analytic::Common::SineTensorStatic< DataType_, k_ >::der_x(), FEAT::Analytic::Common::CosineTensorStatic< DataType_, k_ >::der_x(), FEAT::Analytic::Common::CosineTensorStatic< DataType_, k_ >::der_xx(), FEAT::Analytic::Common::SineTensorStatic< DataType_, k_ >::der_xy(), FEAT::Analytic::Common::CosineTensorStatic< DataType_, k_ >::der_xy(), FEAT::Analytic::Common::SineTensorStatic< DataType_, k_ >::der_xz(), FEAT::Analytic::Common::CosineTensorStatic< DataType_, k_ >::der_xz(), FEAT::Analytic::Common::SineTensorStatic< DataType_, k_ >::der_y(), FEAT::Analytic::Common::CosineTensorStatic< DataType_, k_ >::der_y(), FEAT::Analytic::Common::SineTensorStatic< DataType_, k_ >::der_yz(), FEAT::Analytic::Common::CosineTensorStatic< DataType_, k_ >::der_yz(), FEAT::Analytic::Common::SineTensorStatic< DataType_, k_ >::der_z(), FEAT::Analytic::Common::CosineTensorStatic< DataType_, k_ >::der_z(), FEAT::Geometry::MeshDistortion< MeshType_ >::distort_shortest_edge_local(), FEAT::Geometry::MeshDistortion< MeshType_ >::distort_uniform(), FEAT::Analytic::Common::CosineTensorStatic< DataType_, k_ >::eval(), FEAT::LAFEM::PointstarFactoryFD< DataType_, IndexType_ >::lambda_max(), FEAT::LAFEM::PointstarFactoryFE< DataType_, IndexType_ >::lambda_max(), FEAT::LAFEM::PointstarFactoryFD2< DataType_, IndexType_ >::lambda_max(), FEAT::LAFEM::PointstarFactoryFD< DataType_, IndexType_ >::lambda_min(), FEAT::LAFEM::PointstarFactoryFE< DataType_, IndexType_ >::lambda_min(), FEAT::LAFEM::PointstarFactoryFD2< DataType_, IndexType_ >::lambda_min(), FEAT::Geometry::Atlas::Circle< Mesh_ >::map_param(), FEAT::Tiny::Matrix< T_, m_, n_, sm_, sn_ >::set_rotation_2d(), FEAT::Tiny::Matrix< T_, m_, n_, sm_, sn_ >::set_rotation_3d(), and tan().

◆ cosh()

template<typename T_ >
T_ FEAT::Math::cosh ( T_  x)
inline

Returns the hyperbolic cosine of a value.

Parameters
[in]xThe value to calculate the hyperbolic cosine from.
Returns
cosh(x)

Definition at line 489 of file math.hpp.

Referenced by tanh().

◆ cub()

template<typename T_ >
T_ FEAT::Math::cub ( T_  x)
inline

Returns the cube of a value.

Parameters
[in]xThe value to be cubed.

Returns x*x*x

Definition at line 109 of file math.hpp.

Referenced by FEAT::Geometry::VoxelMap::get_bounding_box_volume().

◆ eps()

template<typename T_ >
T_ FEAT::Math::eps ( )
inline

Returns the machine precision constant for a floating-point data type.

Definition at line 787 of file math.hpp.

◆ exp()

template<typename T_ >
T_ FEAT::Math::exp ( T_  x)
inline

Returns the exponential of a value.

Parameters
[in]xThe value to calculate the exponential from.
Returns
exp(x)

Definition at line 550 of file math.hpp.

Referenced by FEAT::Analytic::Common::ExpBubbleScalarStatic< DataType_ >::der_x(), FEAT::Analytic::Common::ExpBubbleScalarStatic< DataType_ >::der_xx(), FEAT::Analytic::Common::ExpBubbleScalarStatic< DataType_ >::eval(), log(), and pow().

◆ factorial()

template<typename T_ >
T_ FEAT::Math::factorial ( T_  n,
T_  m = T_(0) 
)
inline

Calculates the (partial) factorial.

This function calculates the coefficient

\[ f(n,m) := \prod_{k=m}^n k \]

The factorial n! is given by f(n,0).

Attention
Please keep in mind that the factorial becomes very huge very fast, i.e. for integral data types, one should honor the following boundaries to avoid overflow:
  • 8-bit: n <= 5
  • 16-bit: n <= 7 (signed); n <= 8 (unsigned)
  • 32-bit: n <= 12
  • 64-bit: n <= 20
Parameters
[in]n,mThe coefficients for the (partial) factorial.
Returns
The partial factorial from m to n.
Author
Peter Zajac

Definition at line 1164 of file math.hpp.

References max().

◆ huge()

template<typename T_ >
T_ FEAT::Math::huge ( )
inline

Returns the maximum positive finite (full-precision) value for a data type.

The return value of this function coincides with std::numeric_limits<T_>::max().

Definition at line 842 of file math.hpp.

◆ ilog10()

template<typename T_ >
T_ FEAT::Math::ilog10 ( T_  x)
inline

Computes the integral base-10 logarithm of an integer, i.e. its number of non-zero decimal digits.

Parameters
[in]xThe number whose digit count is to be computed.
Returns
The number of non-zero decimal digits of x.

Definition at line 231 of file math.hpp.

Referenced by FEAT::Solver::NLCG< Functional_, Filter_ >::NLCG(), FEAT::Solver::NLSD< Functional_, Filter_ >::NLSD(), FEAT::Solver::QPenalty< Functional_ >::_apply_intern(), FEAT::Dist::Comm::allprint(), FEAT::Solver::IterativeSolver< Vector_ >::set_max_iter(), FEAT::Geometry::ExportVTK< Mesh_, cell_dim_ >::write(), and FEAT::Geometry::ExportVTK< Mesh_, cell_dim_ >::write_pvtu().

◆ invert_matrix()

template<typename DT_ , typename IT_ >
DT_ FEAT::Math::invert_matrix ( const IT_  n,
const IT_  stride,
DT_  a[],
IT_  p[] 
)

Inverts a matrix and returns its determinant.

This function inverts a dense n x n matrix by means of partially pivoted Gaussian elimination and returns its determinant.

Attention
This function does not check whether the input matrix is regular, therefore one should always check whether the determinant returned by this function is normal by using the Math::isnormal() function. If the returned determinant is not normal, i.e. if Math::isnormal returns false, then the matrix inversion most failed and the output matrix a most probably contains garbage!
Note
This function returns zero if any of the input parameters are invalid.
Parameters
[in]nThe dimension of the matrix to be inverted. Must be > 0.
[in]strideThe stride of the matrix. Must be >= n.
[in]aOn entry, the matrix to be inverted. On exit, the inverse matrix. Must not be nullptr.
[in]pA temporary pivot array of length at least n. Must not be nullptr.
Returns
The determinant of the input matrix a.

Implementational Details:
This functions implements the 'classical' column-pivoted Gauss-Jordan elimination algorithm, which computes the inverse of a matrix by transforming the system

       \f[ [~A~|~I~] \rightarrow [~I~|~A^{-1}~] \f]

There are three major modifications in contrast to the original widely known algorithm:

First, this algorithm works in-situ, i.e. it successively replaces columns of the left-hand-side input matrix by the corresponding columns of the right-hand-side identity matrix during the column elimination process.

Second, this algorithm eliminates whole columns of the left-hand-side matrix, whereas the original algorithm only eliminates all entries below the pivot element. Due to this fact, no backward substitution is necessary after the primary elimination process.

Third, this algorithm does not physically swap rows during the pivoting step, but simply remembers the pivoted positions in a temporary pivot array p, which is initialized to identity. So in the k-th iteration of the primary elimination loop:

  • p[k] contains the index of the row which is currently being used for elimination of column k
  • p[j] for j < k contains the indices of all columns which have already been eliminated, i.e. the corresponding columns already contain the entries of the right-hand-side matrix
  • p[j] for j > k contains the indices of all columns which have not yet been eliminated, i.e. the corresponding columns still hold the entries of the left-hand-side matrix and are therefore candidates for future pivoting steps.
Author
Peter Zajac

Definition at line 1292 of file math.hpp.

References abs().

Referenced by FEAT::Solver::Vanka< LAFEM::SaddlePointMatrix< MatrixA_, MatrixB_, MatrixD_ >, Filter_ >::_factor_diag(), FEAT::Solver::Vanka< LAFEM::SaddlePointMatrix< MatrixA_, MatrixB_, MatrixD_ >, Filter_ >::_factor_full(), FEAT::Assembly::GridTransfer::assemble_intermesh_transfer(), FEAT::Assembly::GridTransfer::assemble_prolongation(), FEAT::Assembly::SpaceTransfer::assemble_transfer(), FEAT::Assembly::GridTransfer::assemble_truncation(), FEAT::Solver::AmaVanka< Matrix_, Filter_ >::init_numeric(), FEAT::LAFEM::DenseMatrix< DT_, IT_ >::invert(), FEAT::Assembly::RewProjector::project(), FEAT::Assembly::GridTransfer::prolongate_vector(), FEAT::Assembly::GridTransfer::transfer_intermesh_vector(), and FEAT::Assembly::SpaceTransfer::transfer_vector().

◆ isfinite()

◆ isinf()

template<typename T_ >
bool FEAT::Math::isinf ( T_  x)
inline

Checks whether a value is infinite.

Note
There exists no generic implementation for this function.
Parameters
[in]xThe value to be checked for infinity.
Returns
true if x is +/-infinity, otherwise false.

◆ isnan()

template<typename T_ >
bool FEAT::Math::isnan ( T_  x)
inline

Checks whether a value is Not-A-Number.

Note
There exists no generic implementation for this function.
Parameters
[in]xThe value to be checked for NaN.
Returns
true if x is NaN, otherwise false.

◆ isnormal()

template<typename T_ >
bool FEAT::Math::isnormal ( T_  x)
inline

◆ log()

template<typename T_ >
T_ FEAT::Math::log ( T_  x)
inline

Returns the natural logarithm of a value.

Parameters
[in]xThe value to calculate the natural logarithm from.
Returns
log(x)

Definition at line 580 of file math.hpp.

References exp().

Referenced by log10(), pow(), and FEAT::Trafo::Isoparam::Evaluator< Trafo_, EvalPolicy_, degree_, Shape::Hypercube< 1 > >::volume().

◆ log10()

template<typename T_ >
T_ FEAT::Math::log10 ( T_  x)
inline

Returns the logarithm to the base 10 of a value.

Parameters
[in]xThe value to calculate the 10-logarithm from.
Returns
log10(x)

Definition at line 623 of file math.hpp.

References log().

◆ max()

template<typename T_ >
T_ FEAT::Math::max ( T_  a,
T_  b 
)
inline

Returns the maximum of two values.

Parameters
[in]a,bThe two values whose maximum is to be returned.
Returns
The maximum of a and b.

Definition at line 137 of file math.hpp.

Referenced by FEAT::LAFEM::SparseMatrixBanded< DT_, IT_ >::SparseMatrixBanded(), FEAT::Solver::Vanka< LAFEM::SaddlePointMatrix< MatrixA_, MatrixB_, MatrixD_ >, Filter_ >::_alloc_data(), FEAT::Solver::MQCLinesearch< Functional_, Filter_ >::_apply_intern(), FEAT::Solver::QPenalty< Functional_ >::_apply_intern(), FEAT::Solver::MQCLinesearch< Functional_, Filter_ >::_argmin_cubic(), FEAT::Solver::MQCLinesearch< Functional_, Filter_ >::_argmin_cubic_case_3(), FEAT::Solver::Vanka< LAFEM::SaddlePointMatrix< MatrixA_, MatrixB_, MatrixD_ >, Filter_ >::_build_p_block(), FEAT::Control::Domain::PartiDomainControlBase< DomainLevel_ >::_check_parti(), FEAT::Solver::MQCLinesearch< Functional_, Filter_ >::_clamp_step(), FEAT::Control::Domain::PartiDomainControl< DomainLevel_ >::_create_multi_layered(), FEAT::Control::Domain::VoxelDomainControl< DomainLevel_ >::_create_multi_layered(), FEAT::Solver::MQCLinesearch< Functional_, Filter_ >::_polynomial_fit(), FEAT::Solver::NLOptLS< Functional_, Filter_ >::_set_new_defect(), FEAT::LAFEM::SparseMatrixBanded< DT_, IT_ >::_start_offset(), FEAT::Assembly::FunctionIntegralInfo< DataType_, ValueType_, GradientType_, HessianType_ >::add_value(), FEAT::Assembly::BurgersAssemblyJobBase< DataType_, Space_, ConvVector_ >::calc_sd_v_norm(), FEAT::Assembly::BurgersCarreauAssemblyJobBase< DataType_, Space_, ConvVector_ >::calc_sd_v_norm(), clamp(), FEAT::Global::Muxer< LocalVector_, Mirror_ >::compile(), FEAT::Assembly::ScalarErrorComputer< max_norm_, sub_dimensional_ >::compute(), FEAT::Assembly::VectorErrorComputer< max_norm_ >::compute(), FEAT::Meshopt::DuDvFunctional< DT_, IT_, TrafoType_, MatrixType_ >::compute_cell_size_defect_post_sync(), FEAT::Meshopt::HyperelasticityFunctional< DT_, IT_, Trafo_, CellFunctionalType_, RefCellTrafo_ >::compute_cell_size_defect_post_sync(), FEAT::Meshopt::DuDvFunctional< DT_, IT_, TrafoType_, MatrixType_ >::compute_cell_size_defect_pre_sync(), FEAT::Meshopt::HyperelasticityFunctional< DT_, IT_, Trafo_, CellFunctionalType_, RefCellTrafo_ >::compute_cell_size_defect_pre_sync(), FEAT::LAFEM::SparseMatrixCSR< DT_, IT_ >::convert(), FEAT::Assembly::DomainAssembler< Trafo_ >::dump(), FEAT::Solver::NLCG< Functional_, Filter_ >::dy_hs_hybrid(), factorial(), FEAT::Control::Time::NvsBdfQ< DT_ >::get_max_num_steps(), FEAT::Control::Time::NvsBdfQ< DT_ >::get_max_p_extrapolation_steps(), FEAT::Solver::NLCG< Functional_, Filter_ >::hager_zhang(), FEAT::LAFEM::PowerVector< SubType_, count_ >::max_abs_element(), FEAT::LAFEM::TupleVector< First_, Rest_ >::max_abs_element(), FEAT::LAFEM::PowerVector< SubType_, count_ >::max_element(), FEAT::LAFEM::TupleVector< First_, Rest_ >::max_element(), FEAT::LAFEM::PowerColMatrix< SubType_, blocks_ >::max_rel_diff(), FEAT::LAFEM::PowerDiagMatrix< SubType_, blocks_ >::max_rel_diff(), FEAT::LAFEM::PowerRowMatrix< SubType_, blocks_ >::max_rel_diff(), FEAT::LAFEM::PowerVector< SubType_, count_ >::max_rel_diff(), FEAT::LAFEM::SaddlePointMatrix< MatrixA_, MatrixB_, MatrixD_ >::max_rel_diff(), FEAT::LAFEM::TupleVector< First_, Rest_ >::max_rel_diff(), FEAT::Tiny::Vector< T_, n_, s_ >::norm_max(), FEAT::Tiny::Vector< T_, n_, s_ >::norm_max_n(), FEAT::Solver::NLCG< Functional_, Filter_ >::polak_ribiere(), FEAT::Geometry::Atlas::SurfaceMesh< Mesh_ >::project_point(), FEAT::LAFEM::SparseMatrixCSR< DT_, IT_ >::radius_row(), FEAT::Assembly::BurgersAssembler< DataType_, IndexType_, dim_ >::set_sd_v_norm(), FEAT::Assembly::BurgersAssemblerCarreau< DataType_, IndexType_, dim_ >::set_sd_v_norm(), FEAT::VoxelAssembly::Kernel::set_sd_v_norm_host(), FEAT::Geometry::TemplateBuilder< RawData_ >::stats(), FEAT::Geometry::AdaptiveMeshLayer< AdaptiveMeshType_ >::validate_element_layering(), FEAT::Geometry::ConformalMesh< Shape_, num_coords_, Coord_ >::validate_element_layering(), FEAT::Geometry::ExportVTK< Mesh_, cell_dim_ >::write(), and FEAT::Geometry::VoxelMap::write().

◆ maxi()

template<typename T_ >
void FEAT::Math::maxi ( T_ &  xmax,
T_  x 
)
inline

Updates the maximum of a set of values.

This functions performs: xmax := max(xmax, x)

Parameters
[in,out]xmaxThe maximum that is to be updated.
[in]xThe new value for the maximum update.

Definition at line 172 of file math.hpp.

Referenced by FEAT::Geometry::UmbrellaSmoother< MeshType_ >::smooth().

◆ min()

template<typename T_ >
T_ FEAT::Math::min ( T_  a,
T_  b 
)
inline

Returns the minimum of two values.

Parameters
[in]a,bThe two values whose minimum is to be returned.
Returns
The minimum of a and b.

Definition at line 123 of file math.hpp.

Referenced by FEAT::Solver::ALGLIBMinLBFGS< Functional_, Filter_ >::ALGLIBMinLBFGS(), FEAT::Control::Time::NvsBdfQ< DT_ >::NvsBdfQ(), FEAT::LAFEM::SparseMatrixBanded< DT_, IT_ >::SparseMatrixBanded(), FEAT::Solver::MultiGrid< SystemMatrix_, SystemFilter_, TransferOperator_ >::_apply_cycle_f(), FEAT::Solver::MultiGrid< SystemMatrix_, SystemFilter_, TransferOperator_ >::_apply_cycle_w(), FEAT::Solver::MQCLinesearch< Functional_, Filter_ >::_apply_intern(), FEAT::Solver::MultiGrid< SystemMatrix_, SystemFilter_, TransferOperator_ >::_apply_prol(), FEAT::Solver::MultiGrid< SystemMatrix_, SystemFilter_, TransferOperator_ >::_apply_rest(), FEAT::Assembly::DomainAssembler< Trafo_ >::_build_colors(), FEAT::Assembly::DomainAssembler< Trafo_ >::_build_thread_layers(), FEAT::Geometry::MeshDistortion< MeshType_ >::_calc_shortest_edge(), FEAT::Geometry::DistributedMeshDistortion< MeshType_ >::_calc_shortest_edge(), FEAT::Geometry::DistributedMeshDistortion< MeshType_ >::_calc_vertex_owners(), FEAT::Solver::MQCLinesearch< Functional_, Filter_ >::_clamp_step(), FEAT::Geometry::VoxelMap::_compute_voxel_map(), FEAT::LAFEM::SparseMatrixBanded< DT_, IT_ >::_end_offset(), FEAT::Solver::MQCLinesearch< Functional_, Filter_ >::_polynomial_fit(), FEAT::Control::Domain::VoxelDomainControl< DomainLevel_ >::_precreate_voxel_map(), binomial(), clamp(), FEAT::Meshopt::DuDvFunctional< DT_, IT_, TrafoType_, MatrixType_ >::compute_cell_size_defect_post_sync(), FEAT::Meshopt::HyperelasticityFunctional< DT_, IT_, Trafo_, CellFunctionalType_, RefCellTrafo_ >::compute_cell_size_defect_post_sync(), FEAT::Meshopt::DuDvFunctional< DT_, IT_, TrafoType_, MatrixType_ >::compute_cell_size_defect_pre_sync(), FEAT::Meshopt::HyperelasticityFunctional< DT_, IT_, Trafo_, CellFunctionalType_, RefCellTrafo_ >::compute_cell_size_defect_pre_sync(), FEAT::LAFEM::SparseMatrixCSR< DT_, IT_ >::convert(), FEAT::Solver::NLCG< Functional_, Filter_ >::dy_hs_hybrid(), FEAT::Solver::NLCG< Functional_, Filter_ >::hager_zhang(), FEAT::LAFEM::PowerVector< SubType_, count_ >::min_abs_element(), FEAT::LAFEM::TupleVector< First_, Rest_ >::min_abs_element(), FEAT::LAFEM::PowerVector< SubType_, count_ >::min_element(), FEAT::LAFEM::TupleVector< First_, Rest_ >::min_element(), FEAT::Geometry::Atlas::Bezier< Mesh_ >::project_on_segment(), FEAT::Geometry::Atlas::SurfaceMesh< Mesh_ >::project_point(), FEAT::LAFEM::SparseMatrixCSR< DT_, IT_ >::radius_row(), FEAT::Geometry::VoxelMap::read(), sqrt(), FEAT::Tiny::Matrix< T_, m_, n_, sm_, sn_ >::trace(), FEAT::Geometry::AdaptiveMeshLayer< AdaptiveMeshType_ >::validate_element_layering(), FEAT::Geometry::ConformalMesh< Shape_, num_coords_, Coord_ >::validate_element_layering(), FEAT::Geometry::ExportEPS::write(), FEAT::Geometry::ExportSVG::write(), and FEAT::Geometry::VoxelMap::write().

◆ mini()

template<typename T_ >
void FEAT::Math::mini ( T_ &  xmin,
T_  x 
)
inline

Updates the minimum of a set of values.

This functions performs: xmin := min(xmin, x)

Parameters
[in,out]xminThe minimum that is to be updated.
[in]xThe new value for the minimum update.

Definition at line 154 of file math.hpp.

◆ minimax()

template<typename T_ >
void FEAT::Math::minimax ( T_  x,
T_ &  a,
T_ &  b 
)
inline

Updates the minimum and maximum.

This functions performs:

  • a := min(x, a)
  • b := max(x, b)
Parameters
[in]xThe new value for the minimum/maximum update.
[in,out]aThe minimum that is to be updated.
[in,out]bThe maximum that is to be updated.

Definition at line 195 of file math.hpp.

Referenced by FEAT::Control::Domain::VoxelDomainControl< DomainLevel_ >::_gather_element_weights(), FEAT::Control::Domain::VoxelDomainControl< DomainLevel_ >::_gather_masked_elements(), FEAT::Trafo::InverseMapping< Trafo_, DataType_ >::init_bounding_boxes(), FEAT::Geometry::ExportEPS::write(), and FEAT::Geometry::ExportSVG::write().

◆ nan()

template<typename T_ >
T_ FEAT::Math::nan ( )
inline

Returns a quiet Not-A-Number (NaN)

Note
The generic implementation simply returns 0/0, which should result in a NaN for any IEEE-754 conforming implementation.
Returns
NaN

Definition at line 897 of file math.hpp.

◆ pi()

template<typename T_ >
T_ FEAT::Math::pi ( )
inline

Returns the mathematical constant pi = 3.1415...

Definition at line 724 of file math.hpp.

◆ pow()

◆ signbit()

template<typename T_ >
bool FEAT::Math::signbit ( T_  x)
inline

Returns the status of the sign bit.

Parameters
[in]xThe value whose signbit status is to be returned.

Definition at line 262 of file math.hpp.

◆ signum()

◆ sin()

template<typename T_ >
T_ FEAT::Math::sin ( T_  x)
inline

Returns the sine of a value.

Parameters
[in]xThe value to calculate the sine from.
Returns
sin(x)

Definition at line 344 of file math.hpp.

Referenced by FEAT::Analytic::Common::CosineTensorStatic< DataType_, k_ >::der_x(), FEAT::Analytic::Common::SineTensorStatic< DataType_, k_ >::der_x(), FEAT::Analytic::Common::SineTensorStatic< DataType_, k_ >::der_xx(), FEAT::Analytic::Common::CosineTensorStatic< DataType_, k_ >::der_xy(), FEAT::Analytic::Common::SineTensorStatic< DataType_, k_ >::der_xy(), FEAT::Analytic::Common::SineTensorStatic< DataType_, k_ >::der_xz(), FEAT::Analytic::Common::CosineTensorStatic< DataType_, k_ >::der_xz(), FEAT::Analytic::Common::SineTensorStatic< DataType_, k_ >::der_y(), FEAT::Analytic::Common::CosineTensorStatic< DataType_, k_ >::der_y(), FEAT::Analytic::Common::SineTensorStatic< DataType_, k_ >::der_yz(), FEAT::Analytic::Common::CosineTensorStatic< DataType_, k_ >::der_yz(), FEAT::Analytic::Common::SineTensorStatic< DataType_, k_ >::der_z(), FEAT::Analytic::Common::CosineTensorStatic< DataType_, k_ >::der_z(), FEAT::Geometry::MeshDistortion< MeshType_ >::distort_shortest_edge_local(), FEAT::Geometry::MeshDistortion< MeshType_ >::distort_uniform(), FEAT::LAFEM::PointstarFactoryBase< DataType_, IndexType_ >::eigenvector_min(), FEAT::LAFEM::PointstarFactoryFD2< DataType_, IndexType_ >::eigenvector_min(), FEAT::Analytic::Common::SineTensorStatic< DataType_, k_ >::eval(), FEAT::Geometry::Atlas::Circle< Mesh_ >::map_param(), FEAT::Tiny::Matrix< T_, m_, n_, sm_, sn_ >::set_rotation_2d(), FEAT::Tiny::Matrix< T_, m_, n_, sm_, sn_ >::set_rotation_3d(), and tan().

◆ sinh()

template<typename T_ >
T_ FEAT::Math::sinh ( T_  x)
inline

Returns the hyperbolic sine of a value.

Parameters
[in]xThe value to calculate the hyperbolic sine from.
Returns
sinh(x)

Definition at line 447 of file math.hpp.

Referenced by tanh().

◆ sqr()

template<typename T_ >
T_ FEAT::Math::sqr ( T_  x)
inline

Returns the square of a value.

Parameters
[in]xThe value to be squared.

Returns x*x

Definition at line 95 of file math.hpp.

Referenced by FEAT::Solver::Vanka< LAFEM::SaddlePointMatrix< MatrixA_, MatrixB_, MatrixD_ >, Filter_ >::_alloc_data(), FEAT::Solver::QPenalty< Functional_ >::_apply_intern(), FEAT::Solver::MQCLinesearch< Functional_, Filter_ >::_argmin_cubic(), FEAT::Solver::MQCLinesearch< Functional_, Filter_ >::_argmin_cubic_case_3(), FEAT::Solver::IterativeSolver< Vector_ >::_set_initial_defect(), FEAT::Solver::NLOptLS< Functional_, Filter_ >::_set_initial_defect(), FEAT::Assembly::FunctionIntegralInfo< DataType_, ValueType_, GradientType_, HessianType_ >::add_grad(), FEAT::Assembly::FunctionIntegralInfo< DataType_, ValueType_, GradientType_, HessianType_ >::add_value(), calc_opening_angle(), FEAT::Assembly::VelocityAnalyser::compute(), FEAT::Assembly::VectorErrorComputer< max_norm_ >::compute(), FEAT::Meshopt::MeshConcentrationFunction< ElementalFunction_, Trafo_, RefCellTrafo_ >::compute_grad_h(), FEAT::Geometry::Atlas::Bezier< Mesh_ >::compute_signed_dist(), FEAT::Analytic::Common::ExpBubbleScalarStatic< DataType_ >::der_x(), FEAT::Analytic::Common::SineTensorStatic< DataType_, k_ >::der_xx(), FEAT::Analytic::Common::CosineTensorStatic< DataType_, k_ >::der_xx(), FEAT::Analytic::Common::ExpBubbleScalarStatic< DataType_ >::der_xx(), FEAT::Analytic::Common::SineTensorStatic< DataType_, k_ >::der_xy(), FEAT::Analytic::Common::CosineTensorStatic< DataType_, k_ >::der_xy(), FEAT::Analytic::Common::SineTensorStatic< DataType_, k_ >::der_xz(), FEAT::Analytic::Common::CosineTensorStatic< DataType_, k_ >::der_xz(), FEAT::Analytic::Common::SineTensorStatic< DataType_, k_ >::der_yz(), FEAT::Analytic::Common::CosineTensorStatic< DataType_, k_ >::der_yz(), FEAT::Analytic::Common::ExpBubbleScalarStatic< DataType_ >::eval(), FEAT::Meshopt::HyperelasticityFunctional< DT_, IT_, Trafo_, CellFunctionalType_, RefCellTrafo_ >::eval_fval_grad(), FEAT::Global::NonlinearFunctional< LocalNonlinearFunctional_, RowMirrorType_, ColMirrorType_ >::eval_fval_grad(), FEAT::Geometry::VoxelMap::get_bounding_box_volume(), FEAT::Solver::NLCG< Functional_, Filter_ >::hager_zhang(), FEAT::Trafo::Standard::inverse_mapping(), FEAT::LAFEM::PointstarFactoryFE< DataType_, IndexType_ >::lambda_max(), FEAT::LAFEM::PointstarFactoryFD2< DataType_, IndexType_ >::lambda_max(), FEAT::LAFEM::PointstarFactoryFD2< DataType_, IndexType_ >::lambda_min(), FEAT::LAFEM::PointstarFactoryFD2< DataType_, IndexType_ >::matrix_banded(), FEAT::LAFEM::DenseVector< DT_, IT_ >::norm2sqr(), FEAT::LAFEM::DenseVectorBlocked< DT_, IT_, BlockSize_ >::norm2sqr(), FEAT::Tiny::Vector< T_, n_, s_ >::norm_euclid_sqr(), FEAT::Tiny::Vector< T_, n_, s_ >::norm_euclid_sqr_n(), FEAT::Tiny::Matrix< T_, m_, n_, sm_, sn_ >::norm_frobenius_sqr(), FEAT::Tiny::Matrix< T_, m_, n_, sm_, sn_ >::norm_hessian_sqr(), FEAT::Tiny::Matrix< T_, m_, n_, sm_, sn_ >::norm_sub_id_frobenius(), FEAT::Assembly::ScalarErrorInfo< DataType_ >::synchronize(), FEAT::Assembly::VectorErrorInfo< DataType_, dim_ >::synchronize(), FEAT::Assembly::VelocityInfo< DataType_, dim_ >::synchronize(), FEAT::Trafo::InverseMapping< Trafo_, DataType_ >::unmap_point_by_newton(), FEAT::Trafo::Standard::EvalHelper< DataType_, DomPointType_, ImgPointType_, JacMatType_, JacMatInvType_, JacDetType_, HessType_, HessInvType_, Shape::Simplex< 1 >, img_dim >::volume(), FEAT::Trafo::Standard::EvalHelper< DataType_, DomPointType_, ImgPointType_, JacMatType_, JacMatInvType_, JacDetType_, HessType_, HessInvType_, Shape::Hypercube< 1 >, img_dim >::volume(), FEAT::Trafo::Standard::EvalHelper< DataType_, DomPointType_, ImgPointType_, JacMatType_, JacMatInvType_, JacDetType_, HessType_, HessInvType_, Shape::Simplex< 2 >, img_dim >::width_directed(), FEAT::Trafo::Standard::EvalHelper< DataType_, DomPointType_, ImgPointType_, JacMatType_, JacMatInvType_, JacDetType_, HessType_, HessInvType_, Shape::Simplex< 3 >, img_dim >::width_directed(), and FEAT::Geometry::Atlas::Extrude< Mesh_, SubChart_ >::write().

◆ sqrt()

template<typename T_ >
T_ FEAT::Math::sqrt ( T_  x)
inline

Returns the square-root of a value.

Parameters
[in]xThe value to calculate the square-root from.
Returns
sqrt(x)
Compiler Hack:
disable "warning C4723: potential divide by 0" for MSVC compiler

Definition at line 300 of file math.hpp.

References min().

Referenced by FEAT::Solver::SecantLinesearch< Functional_, Filter_ >::_apply_intern(), FEAT::Solver::MQCLinesearch< Functional_, Filter_ >::_argmin_cubic(), FEAT::Solver::MQCLinesearch< Functional_, Filter_ >::_argmin_cubic_case_3(), FEAT::Space::CroRavRanTur::Evaluator< Space_, TrafoEvaluator_, SpaceEvalTraits_, Shape::Quadrilateral >::_build_coeff_matrix(), FEAT::Space::CroRavRanTur::Evaluator< Space_, TrafoEvaluator_, SpaceEvalTraits_, Shape::Hexahedron >::_build_coeff_matrix(), FEAT::Space::Q1TBNP::Evaluator< Space_, TrafoEvaluator_, SpaceEvalTraits_, Shape::Quadrilateral >::_build_coeff_matrix(), FEAT::Space::Q1TBNP::Evaluator< Space_, TrafoEvaluator_, SpaceEvalTraits_, Shape::Hexahedron >::_build_coeff_matrix(), asin(), FEAT::Assembly::BurgersAssembler< DataType_, IndexType_, dim_ >::assemble_matrix(), FEAT::Assembly::BurgersAssemblerCarreau< DataType_, IndexType_, dim_ >::assemble_matrix(), FEAT::Assembly::BurgersAssembler< DataType_, IndexType_, dim_ >::assemble_scalar_matrix(), FEAT::Assembly::BurgersAssemblerCarreau< DataType_, IndexType_, dim_ >::assemble_vector(), atan(), atan2(), FEAT::VoxelAssembly::Kernel::burgers_velo_material_defect_assembly_kernel(), FEAT::VoxelAssembly::Kernel::burgers_velo_material_mat_assembly_kernel(), calc_opening_angle(), FEAT::Assembly::VelocityAnalyser::compute(), FEAT::Assembly::ScalarErrorComputer< max_norm_, sub_dimensional_ >::compute(), FEAT::Assembly::VectorErrorComputer< max_norm_ >::compute(), FEAT::Geometry::Atlas::Bezier< Mesh_ >::compute_signed_dist(), FEAT::Geometry::Atlas::SurfaceMesh< Mesh_ >::determine_success(), FEAT::Cubature::HammerStroudD5Driver< Shape::Simplex< 3 > >::fill(), FEAT::Cubature::HammerStroudD2Driver< Shape::Simplex< dim_ > >::fill(), FEAT::Cubature::Scalar::GaussLobattoDriver::fill(), FEAT::Solver::NLCG< Functional_, Filter_ >::hager_zhang(), FEAT::Global::Vector< LocalVector_, Mirror_ >::norm2(), FEAT::LAFEM::PowerVector< SubType_, count_ >::norm2(), FEAT::Tiny::Vector< T_, n_, s_ >::norm_euclid(), FEAT::Tiny::Vector< T_, n_, s_ >::norm_euclid_n(), FEAT::Tiny::Matrix< T_, m_, n_, sm_, sn_ >::norm_frobenius(), FEAT::Tiny::Matrix< T_, m_, n_, sm_, sn_ >::norm_sub_id_frobenius(), FEAT::Assembly::BurgersCarreauAssemblyTaskBase< Job_, DataType_ >::prepare_point(), FEAT::Geometry::Atlas::Bezier< Mesh_ >::project_point(), FEAT::Geometry::UmbrellaSmoother< MeshType_ >::smooth(), FEAT::Assembly::ScalarErrorInfo< DataType_ >::synchronize(), FEAT::Assembly::VectorErrorInfo< DataType_, dim_ >::synchronize(), FEAT::Assembly::VelocityInfo< DataType_, dim_ >::synchronize(), FEAT::Trafo::Isoparam::Evaluator< Trafo_, EvalPolicy_, degree_, Shape::Hypercube< 1 > >::volume(), FEAT::Trafo::Standard::EvalHelper< DataType_, DomPointType_, ImgPointType_, JacMatType_, JacMatInvType_, JacDetType_, HessType_, HessInvType_, Shape::Simplex< 1 >, img_dim >::volume(), FEAT::Trafo::Standard::EvalHelper< DataType_, DomPointType_, ImgPointType_, JacMatType_, JacMatInvType_, JacDetType_, HessType_, HessInvType_, Shape::Hypercube< 1 >, img_dim >::volume(), FEAT::Global::SynchScalarTicket< DT_ >::wait(), FEAT::Trafo::Standard::EvalHelper< DataType_, DomPointType_, ImgPointType_, JacMatType_, JacMatInvType_, JacDetType_, HessType_, HessInvType_, Shape::Simplex< 2 >, img_dim >::width_directed(), FEAT::Trafo::Standard::EvalHelper< DataType_, DomPointType_, ImgPointType_, JacMatType_, JacMatInvType_, JacDetType_, HessType_, HessInvType_, Shape::Simplex< 3 >, img_dim >::width_directed(), and FEAT::Geometry::Atlas::Extrude< Mesh_, SubChart_ >::write().

◆ tan()

template<typename T_ >
T_ FEAT::Math::tan ( T_  x)
inline

Returns the tangent of a value.

Parameters
[in]xThe value to calculate the tangent from.
Returns
tan(x)

Definition at line 428 of file math.hpp.

References cos(), and sin().

◆ tanh()

template<typename T_ >
T_ FEAT::Math::tanh ( T_  x)
inline

Returns the hyperbolic tangent of a value.

Parameters
[in]xThe value to calculate the hyperbolic tangent from.
Returns
tanh(x)

Definition at line 531 of file math.hpp.

References cosh(), and sinh().

◆ tiny()

template<typename T_ >
T_ FEAT::Math::tiny ( )
inline

Returns the minimum positive finite (full-precision) value for a data type.

The return value of this function coincides with std::numeric_limits<T_>::min().

Definition at line 853 of file math.hpp.