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

Contains all the operators and functions to build expressions representing mathematical functions. More...

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>
auto etl::sqrt (E &&value) -> detail::unary_helper< E, sqrt_unary_op >
 Apply square root on each value of the given expression. More...
 
template<etl_expr E>
auto etl::invsqrt (E &&value) -> detail::unary_helper< E, invsqrt_unary_op >
 Apply inverse square root on each value of the given expression. More...
 
template<etl_expr E>
auto etl::cbrt (E &&value) -> detail::unary_helper< E, cbrt_unary_op >
 Apply cubic root on each value of the given expression. More...
 
template<etl_expr E>
auto etl::invcbrt (E &&value) -> detail::unary_helper< E, invcbrt_unary_op >
 Apply inverse cubic root on each value of the given expression. More...
 
template<etl_expr E>
auto etl::log (E &&value) -> detail::unary_helper< E, log_unary_op >
 Apply logarithm (base e) on each value of the given expression. More...
 
template<etl_expr E>
auto etl::log2 (E &&value) -> detail::unary_helper< E, log2_unary_op >
 Apply logarithm (base 2) on each value of the given expression. More...
 
template<etl_expr E>
auto etl::log10 (E &&value) -> detail::unary_helper< E, log10_unary_op >
 Apply logarithm (base 10) on each value of the given expression. More...
 
template<etl_expr E>
auto etl::tan (E &&value) -> detail::unary_helper< E, tan_unary_op >
 Apply tangent on each value of the given expression. More...
 
template<etl_expr E>
auto etl::cos (E &&value) -> detail::unary_helper< E, cos_unary_op >
 Apply cosinus on each value of the given expression. More...
 
template<etl_expr E>
auto etl::sin (E &&value) -> detail::unary_helper< E, sin_unary_op >
 Apply sinus on each value of the given expression. More...
 
template<etl_expr E>
auto etl::tanh (E &&value) -> detail::unary_helper< E, tanh_unary_op >
 Apply hyperbolic tangent on each value of the given expression. More...
 
template<etl_expr E>
auto etl::cosh (E &&value) -> detail::unary_helper< E, cosh_unary_op >
 Apply hyperbolic cosinus on each value of the given expression. More...
 
template<etl_expr E>
auto etl::sinh (E &&value) -> detail::unary_helper< E, sinh_unary_op >
 Apply hyperbolic sinus on each value of the given expression. More...
 
template<etl_expr E>
auto etl::exp (E &&value) -> detail::unary_helper< E, exp_unary_op >
 Apply exponential on each value of the given expression. More...
 
template<etl_expr E>
auto etl::sign (E &&value) -> detail::unary_helper< E, sign_unary_op >
 Apply sign on each value of the given expression. More...
 
template<typename E >
decltype(auto) etl::identity (E &&value)
 Performs the identiy function on the ETL expression. More...
 
template<typename E >
auto etl::identity_derivative ([[maybe_unused]] E &&value)
 Return the derivative of the identiy function for the given value. More...
 
template<etl_expr E>
auto etl::sigmoid (const E &value) -> detail::unary_helper< E, sigmoid_unary_op >
 Return the logistic sigmoid of the given ETL expression. More...
 
template<etl_expr E>
auto etl::relu (const E &value) -> detail::unary_helper< E, relu_unary_op >
 Return the relu activation of the given ETL expression. More...
 
template<etl_expr E>
auto etl::sigmoid_derivative (E &&value) -> decltype(sigmoid(value) >>(1.0 - sigmoid(value)))
 Return the derivative of the logistic sigmoid of the given ETL expression. More...
 
template<etl_expr E>
auto etl::fast_sigmoid (const E &value) -> detail::unary_helper< E, fast_sigmoid_unary_op >
 Return a fast approximation of the logistic sigmoid of the given ETL expression. More...
 
template<etl_expr E>
auto etl::hard_sigmoid (E &&x) -> decltype(etl::clip(x *0.2+0.5, 0.0, 1.0))
 Return an hard approximation of the logistic sigmoid of the given ETL expression. More...
 
template<etl_expr E>
auto etl::softmax (E &&e)
 Return the softmax function of the given ETL expression. More...
 
template<etl_expr E>
auto etl::stable_softmax (E &&e)
 Returns the softmax function of the given ETL expression. This version is implemented so that numerical stability is preserved. More...
 
template<typename E >
auto etl::softmax_derivative ([[maybe_unused]] E &&e)
 Return the derivative of the softmax function of the given ETL expression. More...
 
template<etl_expr E>
auto etl::softplus (E &&value) -> detail::unary_helper< E, softplus_unary_op >
 Return the softplus of the given ETL expression. More...
 
template<etl_expr E>
auto etl::bernoulli (const E &value) -> detail::unary_helper< E, bernoulli_unary_op >
 Apply Bernoulli sampling to the values of the expression. More...
 
template<typename E , typename G >
auto etl::bernoulli (G &g, E &&value)
 Apply Bernoulli sampling to the values of the expression. More...
 
template<etl_expr E>
auto etl::state_bernoulli (const E &value)
 Apply Bernoulli sampling to the values of the expression. More...
 
template<etl_expr E>
auto etl::state_bernoulli (const E &value, const std::shared_ptr< void *> &states)
 Apply Bernoulli sampling to the values of the expression. More...
 
template<etl_expr E, typename G >
auto etl::state_bernoulli (G &g, E &&value)
 Apply Bernoulli sampling to the values of the expression. More...
 
template<etl_expr E, typename G >
auto etl::state_bernoulli (G &g, E &&value, const std::shared_ptr< void *> &states)
 Apply Bernoulli sampling to the values of the expression. More...
 
template<etl_expr E>
auto etl::r_bernoulli (const E &value) -> detail::unary_helper< E, reverse_bernoulli_unary_op >
 Apply Reverse Bernoulli sampling to the values of the expression. More...
 
template<etl_expr E, typename G >
auto etl::r_bernoulli (G &g, E &&value)
 Apply Reverse Bernoulli sampling to the values of the expression. More...
 
template<etl_expr E>
auto etl::tanh_derivative (E &&value) -> decltype(1.0 -(tanh(value) >> tanh(value)))
 Return the derivative of the tanh function of the given ETL expression. More...
 
template<etl_expr E>
auto etl::relu_derivative (const E &value) -> detail::unary_helper< E, relu_derivative_op >
 Return the derivative of the relu function of the given ETL expression. More...
 

Detailed Description

Contains all the operators and functions to build expressions representing mathematical functions.