EqualityChecker< Scalar, StorageIndex, Dim > Class Template Reference

Public Member Functions

 EqualityChecker (const Scalar *input_data_, const DSizes< StorageIndex, Dim > &input_dims_, const DSizes< StorageIndex, Dim > &input_strides_, const DSizes< StorageIndex, Dim > &output_dims_, const DSizes< StorageIndex, Dim > &output_strides_)
 
void operator() (const Scalar *output_data) const
 

Private Member Functions

void check_recursive (const Scalar *input, const Scalar *output, int depth=0) const
 

Private Attributes

const Scalarinput_data
 
const DSizes< StorageIndex, Dim > & input_dims
 
const DSizes< StorageIndex, Dim > & input_strides
 
const DSizes< StorageIndex, Dim > & output_dims
 
const DSizes< StorageIndex, Dim > & output_strides
 

Constructor & Destructor Documentation

◆ EqualityChecker()

template<typename Scalar , typename StorageIndex , int Dim>
EqualityChecker< Scalar, StorageIndex, Dim >::EqualityChecker ( const Scalar input_data_,
const DSizes< StorageIndex, Dim > &  input_dims_,
const DSizes< StorageIndex, Dim > &  input_strides_,
const DSizes< StorageIndex, Dim > &  output_dims_,
const DSizes< StorageIndex, Dim > &  output_strides_ 
)
inline
200  : input_data(input_data_),
201  input_dims(input_dims_),
202  input_strides(input_strides_),
203  output_dims(output_dims_),
204  output_strides(output_strides_) {}
const DSizes< StorageIndex, Dim > & input_strides
Definition: cxx11_tensor_block_access.cpp:183
const Scalar * input_data
Definition: cxx11_tensor_block_access.cpp:182
const DSizes< StorageIndex, Dim > & output_strides
Definition: cxx11_tensor_block_access.cpp:183
const DSizes< StorageIndex, Dim > & input_dims
Definition: cxx11_tensor_block_access.cpp:183
const DSizes< StorageIndex, Dim > & output_dims
Definition: cxx11_tensor_block_access.cpp:183

Member Function Documentation

◆ check_recursive()

template<typename Scalar , typename StorageIndex , int Dim>
void EqualityChecker< Scalar, StorageIndex, Dim >::check_recursive ( const Scalar input,
const Scalar output,
int  depth = 0 
) const
inlineprivate
184  {
185  if (depth == Dim) {
186  VERIFY_IS_EQUAL(*input, *output);
187  return;
188  }
189 
190  for (int i = 0; i < output_dims[depth]; ++i) {
191  check_recursive(input + i % input_dims[depth] * input_strides[depth], output + i * output_strides[depth],
192  depth + 1);
193  }
194  }
int i
Definition: BiCGSTAB_step_by_step.cpp:9
void check_recursive(const Scalar *input, const Scalar *output, int depth=0) const
Definition: cxx11_tensor_block_access.cpp:184
#define VERIFY_IS_EQUAL(a, b)
Definition: main.h:367
static const unsigned Dim
Problem dimension.
Definition: two_d_tilted_square.cc:62
void output(std::ostream &outfile, const unsigned &nplot)
Overload output function.
Definition: overloaded_element_body.h:490

References Global_Variables::Dim, i, EqualityChecker< Scalar, StorageIndex, Dim >::input_dims, EqualityChecker< Scalar, StorageIndex, Dim >::input_strides, output(), EqualityChecker< Scalar, StorageIndex, Dim >::output_dims, EqualityChecker< Scalar, StorageIndex, Dim >::output_strides, and VERIFY_IS_EQUAL.

Referenced by EqualityChecker< Scalar, StorageIndex, Dim >::operator()().

◆ operator()()

template<typename Scalar , typename StorageIndex , int Dim>
void EqualityChecker< Scalar, StorageIndex, Dim >::operator() ( const Scalar output_data) const
inline

Member Data Documentation

◆ input_data

template<typename Scalar , typename StorageIndex , int Dim>
const Scalar* EqualityChecker< Scalar, StorageIndex, Dim >::input_data
private

◆ input_dims

template<typename Scalar , typename StorageIndex , int Dim>
const DSizes<StorageIndex, Dim>& EqualityChecker< Scalar, StorageIndex, Dim >::input_dims
private

◆ input_strides

template<typename Scalar , typename StorageIndex , int Dim>
const DSizes<StorageIndex, Dim> & EqualityChecker< Scalar, StorageIndex, Dim >::input_strides
private

◆ output_dims

template<typename Scalar , typename StorageIndex , int Dim>
const DSizes<StorageIndex, Dim> & EqualityChecker< Scalar, StorageIndex, Dim >::output_dims
private

◆ output_strides

template<typename Scalar , typename StorageIndex , int Dim>
const DSizes<StorageIndex, Dim> & EqualityChecker< Scalar, StorageIndex, Dim >::output_strides
private

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