Expression Templates Library (ETL)
Namespaces | Functions
globals.hpp File Reference

Contains some global functions. More...

#include "etl/temporary.hpp"
#include "etl/impl/decomposition.hpp"
#include "etl/impl/det.hpp"
#include "etl/impl/egblas/shuffle.hpp"
Include dependency graph for globals.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 etl
 Root namespace for the ETL library.
 

Functions

template<etl_expr E>
bool etl::is_square (E &&expr)
 Indicates if the given expression is a square matrix or not. More...
 
template<etl_expr E>
bool etl::is_real_matrix ([[maybe_unused]] E &&expr)
 Indicates if the given expression is a real matrix or not. More...
 
template<etl_expr E>
bool etl::is_complex_matrix ([[maybe_unused]] E &&expr)
 Indicates if the given expression is a complex matrix or not. More...
 
template<etl_expr E>
bool etl::is_rectangular (E &&expr)
 Indicates if the given expression is a rectangular matrix or not. More...
 
template<etl_expr E>
bool etl::is_sub_square (E &&expr)
 Indicates if the given expression contains sub matrices that are square. More...
 
template<etl_expr E>
bool etl::is_sub_rectangular (E &&expr)
 Indicates if the given expression contains sub matrices that are rectangular. More...
 
template<typename E >
bool etl::is_uniform (E &&expr)
 Indicates if the given expression is uniform (all elements of the same value) More...
 
template<typename E >
bool etl::is_permutation_matrix (E &&expr)
 Indicates if the given expression represents a permutation matrix. More...
 
template<etl_expr L, etl_expr R>
bool etl::operator== (L &&lhs, R &&rhs)
 Compare two ETL expressions for equality. More...
 
template<etl_expr L, etl_expr R>
bool etl::operator!= (L &&lhs, R &&rhs)
 Compare the expression with another expression for inequality. More...
 
template<std::floating_point T, std::floating_point TE = T>
bool etl::approx_equals_float (T a, T b, TE epsilon)
 Test if two floating point numbers are approximately equals. More...
 
template<etl_expr L, etl_expr E>
bool etl::approx_equals (L &&lhs, E &&rhs, value_t< L > eps)
 Test if two ETL expression are approximately equals. More...
 
template<etl_expr E>
value_t< E > etl::trace (E &&expr)
 Returns the trace of the given square matrix. More...
 
template<etl_expr E>
value_t< E > etl::determinant (E &&expr)
 Returns the determinant of the given square matrix. More...
 
template<etl_expr AT, etl_expr LT, etl_expr UT, etl_expr PT>
bool etl::lu (const AT &A, LT &L, UT &U, PT &P)
 Decomposition the matrix so that P * A = L * U. More...
 
template<etl_expr AT, etl_expr QT, etl_expr RT>
bool etl::qr (AT &A, QT &Q, RT &R)
 Decomposition the matrix so that A = Q * R. More...
 
template<etl_expr T, typename G >
void etl::shuffle_flat (T &vector, G &&g)
 Shuffle all the elements of an ETL vector or matrix (considered as array). More...
 
template<etl_expr T>
void etl::shuffle_flat (T &vector)
 Shuffle all the elements of an ETL vector or matrix (considered as array) More...
 
template<etl_expr T, typename G >
void etl::shuffle_first (T &matrix, G &&g)
 Shuffle all the elements of a matrix. More...
 
template<etl_expr T>
void etl::shuffle_first (T &matrix)
 Shuffle all the elements of a matrix. More...
 
template<etl_expr T>
void etl::shuffle (T &vector)
 Shuffle all the elements of an ETL vector. More...
 
template<etl_expr T, typename G >
void etl::shuffle (T &vector, G &&g)
 Shuffle all the elements of an ETL vector. More...
 
template<etl_expr T1, same_dimensions< T1 > T2, typename G >
void etl::parallel_shuffle_flat (T1 &v1, T2 &v2, G &&g)
 Shuffle all the elements of two vectors, using the same permutation. More...
 
template<etl_expr T1, etl_expr T2>
void etl::parallel_shuffle_flat (T1 &v1, T2 &v2)
 Shuffle all the elements of two vectors, using the same permutation. More...
 
template<etl_expr T1, etl_expr T2, typename G >
void etl::parallel_shuffle_first (T1 &m1, T2 &m2, G &&g)
 Shuffle all the elements of two matrices, using the same permutation. More...
 
template<etl_expr T1, etl_expr T2>
void etl::parallel_shuffle_first (T1 &m1, T2 &m2)
 Shuffle all the elements of two matrices, using the same permutation. More...
 
template<etl_expr T1, etl_expr T2>
void etl::parallel_shuffle (T1 &v1, T2 &v2)
 Shuffle all the elements of two vectors or matrices, using the same permutation. More...
 
template<etl_expr T>
void etl::shuffle_swap (T &v1, size_t i, size_t new_i)
 
template<etl_expr T1, etl_expr T2, typename G >
void etl::parallel_shuffle (T1 &v1, T2 &v2, G &&g)
 Shuffle all the elements of two vectors or matrices, using the same permutation. More...
 
template<etl_expr M, etl_expr N>
M & etl::merge (M &merged, const N &sub, size_t index)
 Merge sub inside merged at the given position. More...
 
template<etl_expr M, etl_expr N>
M & etl::batch_merge (M &merged, const N &sub, size_t index)
 Merge sub inside merged at the given position, for each batch. More...
 
template<etl_expr M, etl_expr N>
M & etl::dispatch (M &dispatched, const N &merged, size_t index)
 Dispatch a part of merged to dispatched from the given position. More...
 
template<etl_expr M, etl_expr N>
M & etl::batch_dispatch (M &dispatched, const N &merged, size_t index)
 Dispatch a part of merged to dispatched from the given position, for each batch. More...
 
template<etl_expr M, typename T >
void etl::binarize (M &matrix, T b)
 Binarize the given ETL contrainer. More...
 
template<etl_expr M>
void etl::normalize_flat (M &matrix)
 Normalize the given ETL contrainer to zero-mean and unit-variance. More...
 
template<etl_expr M>
void etl::normalize_sub (M &matrix)
 Normalize each sub container of the given ETL contrainer to zero-mean and unit-variance. More...
 

Detailed Description

Contains some global functions.