Expression Templates Library (ETL)
Public Types | Public Member Functions | List of all members
etl::dim_testable< D > Struct Template Reference

CRTP class to inject functions testing the dimensions. More...

#include <dim_testable.hpp>

Inherited by etl::base_temporary_expr< batch_embedding_gradients_expr< A, B, C >, true >, etl::base_temporary_expr< batch_embedding_lookup_expr< A, B >, true >, etl::base_temporary_expr< batch_k_minus_scale_expr< A, B, C >, true >, etl::base_temporary_expr< batch_k_scale_expr< A, B >, true >, etl::base_temporary_expr< batch_k_scale_plus_expr< A, B, C >, true >, etl::base_temporary_expr< batch_outer_product_expr< A, B >, true >, etl::base_temporary_expr< batch_softmax_expr< A, Stable >, true >, etl::base_temporary_expr< bias_add_2d_expr< A, B >, true >, etl::base_temporary_expr< bias_add_4d_expr< A, B >, true >, etl::base_temporary_expr< bias_batch_mean_2d_expr< A, Mean >, true >, etl::base_temporary_expr< bias_batch_mean_4d_expr< A, Mean >, true >, etl::base_temporary_expr< bias_batch_var_2d_expr< A, B >, true >, etl::base_temporary_expr< bias_batch_var_4d_expr< A, B >, true >, etl::base_temporary_expr< conv_1d_full_expr< A, B >, true >, etl::base_temporary_expr< conv_1d_same_expr< A, B >, true >, etl::base_temporary_expr< conv_1d_valid_expr< A, B >, true >, etl::base_temporary_expr< conv_2d_backward_expr< A, B, S1, S2, P1, P2, Flipped >, true >, etl::base_temporary_expr< conv_2d_full_deep_expr< A, B, Flipped >, true >, etl::base_temporary_expr< conv_2d_full_expr< A, B, Flipped >, true >, etl::base_temporary_expr< conv_2d_full_multi_expr< A, B, Flipped >, true >, etl::base_temporary_expr< conv_2d_same_deep_expr< A, B, Flipped >, true >, etl::base_temporary_expr< conv_2d_same_expr< A, B, Flipped >, true >, etl::base_temporary_expr< conv_2d_same_multi_expr< A, B, Flipped >, true >, etl::base_temporary_expr< conv_2d_valid_deep_expr< A, B, S1, S2, P1, P2, Flipped >, true >, etl::base_temporary_expr< conv_2d_valid_expr< A, B, S1, S2, P1, P2, Flipped >, true >, etl::base_temporary_expr< conv_2d_valid_multi_expr< A, B, S1, S2, P1, P2, Flipped >, true >, etl::base_temporary_expr< conv_2d_valid_multi_multi_expr< A, B, S1, S2, P1, P2, Flipped >, true >, etl::base_temporary_expr< conv_4d_backward_expr< A, B, S1, S2, P1, P2, Flipped >, true >, etl::base_temporary_expr< conv_4d_backward_filter_expr< A, B, S1, S2, P1, P2, Flipped >, true >, etl::base_temporary_expr< conv_4d_full_expr< A, B, Flipped >, true >, etl::base_temporary_expr< conv_4d_valid_back_expr< A, B, S1, S2, P1, P2, Flipped >, true >, etl::base_temporary_expr< conv_4d_valid_expr< A, B, S1, S2, P1, P2, Flipped >, true >, etl::base_temporary_expr< conv_4d_valid_filter_expr< A, B, S1, S2, P1, P2, Flipped >, true >, etl::base_temporary_expr< convmtx_2d_expr< A, K1, K2 >, true >, etl::base_temporary_expr< dyn_conv_2d_backward_expr< A, B, Flipped >, true >, etl::base_temporary_expr< dyn_conv_2d_valid_expr< A, B, Flipped >, true >, etl::base_temporary_expr< dyn_conv_2d_valid_multi_expr< A, B, Flipped >, true >, etl::base_temporary_expr< dyn_conv_2d_valid_multi_multi_expr< A, B, Flipped >, true >, etl::base_temporary_expr< dyn_conv_4d_backward_expr< A, B, Flipped >, true >, etl::base_temporary_expr< dyn_conv_4d_backward_filter_expr< A, B, Flipped >, true >, etl::base_temporary_expr< dyn_conv_4d_valid_back_expr< A, B, Flipped >, true >, etl::base_temporary_expr< dyn_conv_4d_valid_expr< A, B, Flipped >, true >, etl::base_temporary_expr< dyn_conv_4d_valid_filter_expr< A, B, Flipped >, true >, etl::base_temporary_expr< dyn_pool_2d_expr< A, Impl >, Fast >, etl::base_temporary_expr< dyn_pool_3d_expr< A, Impl >, true >, etl::base_temporary_expr< dyn_pool_derivative_expr< A, B, Impl >, true >, etl::base_temporary_expr< dyn_pool_upsample_2d_expr< A, B, C, Max >, true >, etl::base_temporary_expr< dyn_pool_upsample_3d_expr< A, B, C, Max >, true >, etl::base_temporary_expr< dyn_prob_pool_2d_expr< A >, Fast >, etl::base_temporary_expr< dyn_upsample_2d_expr< A >, Fast >, etl::base_temporary_expr< dyn_upsample_3d_expr< A >, true >, etl::base_temporary_expr< embedding_gradients_expr< A, B, C >, true >, etl::base_temporary_expr< embedding_lookup_expr< A, B >, true >, etl::base_temporary_expr< fft_expr< A, T, Impl >, true >, etl::base_temporary_expr< gemm_expr< A, B, Strassen >, true >, etl::base_temporary_expr< gemv_expr< A, B >, true >, etl::base_temporary_expr< gevm_expr< A, B >, true >, etl::base_temporary_expr< inv_expr< A >, true >, etl::base_temporary_expr< outer_product_expr< A, B >, true >, etl::base_temporary_expr< pool_2d_expr< A, C1, C2, S1, S2, P1, P2, Impl >, true >, etl::base_temporary_expr< pool_3d_expr< A, C1, C2, C3, S1, S2, S3, P1, P2, P3, Impl >, true >, etl::base_temporary_expr< pool_derivative_expr< A, B, C1, C2, C3, S1, S2, S3, P1, P2, P3, Impl >, true >, etl::base_temporary_expr< pool_upsample_2d_expr< A, B, C, C1, C2, S1, S2, P1, P2, Max >, true >, etl::base_temporary_expr< pool_upsample_3d_expr< A, B, C, C1, C2, C3, Max >, true >, etl::base_temporary_expr< prob_pool_2d_expr< A, C1, C2 >, true >, etl::base_temporary_expr< transpose_expr< A >, true >, etl::base_temporary_expr< transpose_front_expr< A >, true >, etl::base_temporary_expr< upsample_2d_expr< A, C1, C2, S1, S2, P1, P2 >, true >, etl::base_temporary_expr< upsample_3d_expr< A, C1, C2, C3 >, true >, and etl::base_temporary_expr< D, Fast >.

Public Types

using derived_t = D
 The derived type.
 

Public Member Functions

derived_tas_derived () noexcept
 Returns a reference to the derived object, i.e. the object using the CRTP injector. More...
 
const derived_tas_derived () const noexcept
 Returns a reference to the derived object, i.e. the object using the CRTP injector. More...
 
bool is_square () const noexcept
 Indicates if the expressions is of square dimensions (only for 2d expression) More...
 
bool is_rectangular () const noexcept
 Indicates if the expressions is of rectangular dimensions (only for 2d expression) More...
 
bool is_sub_square () const noexcept
 Indicates if the expressions is of square dimensions, ignoring the first dimension (only for 3d expression) More...
 
bool is_sub_rectangular () const noexcept
 Indicates if the expressions is of rectangular dimensions, ignoring the first dimension (only for 3d expression) More...
 
bool is_symmetric () const noexcept
 Indicates if the given expression is a symmetric matrix or not. More...
 
bool is_lower_triangular () const noexcept
 Indicates if the given expression is a lower triangular matrix or not. More...
 
bool is_uni_lower_triangular () const noexcept
 Indicates if the given expression is a uni lower triangular matrix or not. More...
 
bool is_strictly_lower_triangular () const noexcept
 Indicates if the given expression is a strictly lower triangular matrix or not. More...
 
bool is_upper_triangular () const noexcept
 Indicates if the given expression is a upper triangular matrix or not. More...
 
bool is_uni_upper_triangular () const noexcept
 Indicates if the given expression is a uni upper triangular matrix or not. More...
 
bool is_strictly_upper_triangular () const noexcept
 Indicates if the given expression is a strictly upper triangular matrix or not. More...
 
bool is_triangular () const noexcept
 Indicates if the given expression is a triangular matrix or not. More...
 

Detailed Description

template<typename D>
struct etl::dim_testable< D >

CRTP class to inject functions testing the dimensions.

Member Function Documentation

◆ as_derived() [1/2]

template<typename D>
derived_t& etl::dim_testable< D >::as_derived ( )
inlinenoexcept

Returns a reference to the derived object, i.e. the object using the CRTP injector.

Returns
a reference to the derived object.

◆ as_derived() [2/2]

template<typename D>
const derived_t& etl::dim_testable< D >::as_derived ( ) const
inlinenoexcept

Returns a reference to the derived object, i.e. the object using the CRTP injector.

Returns
a reference to the derived object.

◆ is_lower_triangular()

template<typename D>
bool etl::dim_testable< D >::is_lower_triangular ( ) const
inlinenoexcept

Indicates if the given expression is a lower triangular matrix or not.

Returns
true if the given expression is a lower triangular matrix, false otherwise.

◆ is_rectangular()

template<typename D>
bool etl::dim_testable< D >::is_rectangular ( ) const
inlinenoexcept

Indicates if the expressions is of rectangular dimensions (only for 2d expression)

Returns
true if the expressions is rectangular, false otherwise.

◆ is_square()

template<typename D>
bool etl::dim_testable< D >::is_square ( ) const
inlinenoexcept

Indicates if the expressions is of square dimensions (only for 2d expression)

Returns
true if the expressions is square, false otherwise.

◆ is_strictly_lower_triangular()

template<typename D>
bool etl::dim_testable< D >::is_strictly_lower_triangular ( ) const
inlinenoexcept

Indicates if the given expression is a strictly lower triangular matrix or not.

Returns
true if the given expression is a strictly lower triangular matrix, false otherwise.

◆ is_strictly_upper_triangular()

template<typename D>
bool etl::dim_testable< D >::is_strictly_upper_triangular ( ) const
inlinenoexcept

Indicates if the given expression is a strictly upper triangular matrix or not.

Returns
true if the given expression is a strictly upper triangular matrix, false otherwise.

◆ is_sub_rectangular()

template<typename D>
bool etl::dim_testable< D >::is_sub_rectangular ( ) const
inlinenoexcept

Indicates if the expressions is of rectangular dimensions, ignoring the first dimension (only for 3d expression)

Returns
true if the expressions is sub rectangular, false otherwise.

◆ is_sub_square()

template<typename D>
bool etl::dim_testable< D >::is_sub_square ( ) const
inlinenoexcept

Indicates if the expressions is of square dimensions, ignoring the first dimension (only for 3d expression)

Returns
true if the expressions is sub square, false otherwise.

◆ is_symmetric()

template<typename D>
bool etl::dim_testable< D >::is_symmetric ( ) const
inlinenoexcept

Indicates if the given expression is a symmetric matrix or not.

Returns
true if the given expression is a symmetric matrix, false otherwise.

◆ is_triangular()

template<typename D>
bool etl::dim_testable< D >::is_triangular ( ) const
inlinenoexcept

Indicates if the given expression is a triangular matrix or not.

Returns
true if the given expression is a triangular matrix, false otherwise.

◆ is_uni_lower_triangular()

template<typename D>
bool etl::dim_testable< D >::is_uni_lower_triangular ( ) const
inlinenoexcept

Indicates if the given expression is a uni lower triangular matrix or not.

Returns
true if the given expression is a uni lower triangular matrix, false otherwise.

◆ is_uni_upper_triangular()

template<typename D>
bool etl::dim_testable< D >::is_uni_upper_triangular ( ) const
inlinenoexcept

Indicates if the given expression is a uni upper triangular matrix or not.

Returns
true if the given expression is a uni upper triangular matrix, false otherwise.

◆ is_upper_triangular()

template<typename D>
bool etl::dim_testable< D >::is_upper_triangular ( ) const
inlinenoexcept

Indicates if the given expression is a upper triangular matrix or not.

Returns
true if the given expression is a upper triangular matrix, false otherwise.

The documentation for this struct was generated from the following file: