Expression Templates Library (ETL)
Static Public Member Functions | List of all members
etl::impl::avg_pool_derivative_3d Struct Reference

Functor for the derivative of 3D Avg Pooling. More...

#include <avg_pooling_derivative.hpp>

Static Public Member Functions

template<size_t C1, size_t C2, size_t C3, size_t S1, size_t S2, size_t S3, size_t P1, size_t P2, size_t P3, typename A , typename B , typename M >
static void pool_derivative_block ([[maybe_unused]] const A &in, [[maybe_unused]] const B &out, M &m, size_t i, size_t j, size_t k)
 Pool a block of the sub expression. More...
 
template<size_t C1, size_t C2, size_t C3, size_t S1, size_t S2, size_t S3, size_t P1, size_t P2, size_t P3, etl_3d A, typename B , typename M >
static void apply (A &&in, B &&out, M &&m)
 Apply the functor on sub and store the result in m. More...
 
template<typename A , typename B , typename M >
static void pool_derivative_block ([[maybe_unused]] const A &in, [[maybe_unused]] const B &out, M &m, size_t i, size_t j, size_t k, size_t c1, size_t c2, size_t c3, [[maybe_unused]] size_t s1, [[maybe_unused]] size_t s2, [[maybe_unused]] size_t s3, [[maybe_unused]] size_t p1, [[maybe_unused]] size_t p2, [[maybe_unused]] size_t p3)
 Pool a block of the sub expression. More...
 
template<etl_3d A, typename B , typename M >
static void apply (A &&in, B &&out, M &&m, size_t c1, size_t c2, size_t c3, size_t s1, size_t s2, size_t s3, size_t p1, size_t p2, size_t p3)
 Apply the functor on sub and store the result in m. More...
 
template<size_t C1, size_t C2, size_t C3, size_t S1, size_t S2, size_t S3, size_t P1, size_t P2, size_t P3, etl_4d_and_plus A, typename B , typename M >
static void apply (A &&in, B &&out, M &m)
 Apply the functor on sub and store the result in m. More...
 
template<etl_4d_and_plus A, typename B , typename M >
static void apply (A &&in, B &&out, M &m, size_t c1, size_t c2, size_t c3, size_t s1, size_t s2, size_t s3, size_t p1, size_t p2, size_t p3)
 Apply the functor on sub and store the result in m. More...
 

Detailed Description

Functor for the derivative of 3D Avg Pooling.

Member Function Documentation

◆ apply() [1/4]

template<size_t C1, size_t C2, size_t C3, size_t S1, size_t S2, size_t S3, size_t P1, size_t P2, size_t P3, etl_3d A, typename B , typename M >
static void etl::impl::avg_pool_derivative_3d::apply ( A &&  in,
B &&  out,
M &&  m 
)
inlinestatic

Apply the functor on sub and store the result in m.

Parameters
inThe sub expression
mThe storage matrix
Template Parameters
C1The first dimension pooling ratio
C2The second dimension pooling ratio
C3The third dimension pooling ratio

◆ apply() [2/4]

template<etl_3d A, typename B , typename M >
static void etl::impl::avg_pool_derivative_3d::apply ( A &&  in,
B &&  out,
M &&  m,
size_t  c1,
size_t  c2,
size_t  c3,
size_t  s1,
size_t  s2,
size_t  s3,
size_t  p1,
size_t  p2,
size_t  p3 
)
inlinestatic

Apply the functor on sub and store the result in m.

Parameters
inThe sub expression
mThe storage matrix
c1The first dimension pooling ratio
c2The second dimension pooling ratio
c3The third dimension pooling ratio

◆ apply() [3/4]

template<size_t C1, size_t C2, size_t C3, size_t S1, size_t S2, size_t S3, size_t P1, size_t P2, size_t P3, etl_4d_and_plus A, typename B , typename M >
static void etl::impl::avg_pool_derivative_3d::apply ( A &&  in,
B &&  out,
M &  m 
)
inlinestatic

Apply the functor on sub and store the result in m.

Parameters
inThe sub expression
mThe storage matrix
Template Parameters
C1The first dimension pooling ratio
C2The second dimension pooling ratio
C3The third dimension pooling ratio

◆ apply() [4/4]

template<etl_4d_and_plus A, typename B , typename M >
static void etl::impl::avg_pool_derivative_3d::apply ( A &&  in,
B &&  out,
M &  m,
size_t  c1,
size_t  c2,
size_t  c3,
size_t  s1,
size_t  s2,
size_t  s3,
size_t  p1,
size_t  p2,
size_t  p3 
)
inlinestatic

Apply the functor on sub and store the result in m.

Parameters
inThe sub expression
mThe storage matrix
c1The first dimension pooling ratio
c2The second dimension pooling ratio
c3The third dimension pooling ratio

◆ pool_derivative_block() [1/2]

template<size_t C1, size_t C2, size_t C3, size_t S1, size_t S2, size_t S3, size_t P1, size_t P2, size_t P3, typename A , typename B , typename M >
static void etl::impl::avg_pool_derivative_3d::pool_derivative_block ( [[maybe_unused] ] const A &  in,
[[maybe_unused] ] const B &  out,
M &  m,
size_t  i,
size_t  j,
size_t  k 
)
inlinestatic

Pool a block of the sub expression.

Parameters
inThe sub expression
outThe out matrix
mThe storage matrix
iThe first index of the block
jThe second index of the block
kThe third index of the block
Template Parameters
C1The first dimension pooling ratio
C2The second dimension pooling ratio
C3The third dimension pooling ratio

◆ pool_derivative_block() [2/2]

template<typename A , typename B , typename M >
static void etl::impl::avg_pool_derivative_3d::pool_derivative_block ( [[maybe_unused] ] const A &  in,
[[maybe_unused] ] const B &  out,
M &  m,
size_t  i,
size_t  j,
size_t  k,
size_t  c1,
size_t  c2,
size_t  c3,
[[maybe_unused] ] size_t  s1,
[[maybe_unused] ] size_t  s2,
[[maybe_unused] ] size_t  s3,
[[maybe_unused] ] size_t  p1,
[[maybe_unused] ] size_t  p2,
[[maybe_unused] ] size_t  p3 
)
inlinestatic

Pool a block of the sub expression.

Parameters
inThe sub expression
outThe out matrix
mThe storage matrix
iThe first index of the block
jThe second index of the block
kThe third index of the block
c1The first dimension pooling ratio
c2The second dimension pooling ratio
c3The third dimension pooling ratio

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