Functions | |
template<class VecX , class VecV , class Device > | |
void | assign (vector_expression< VecX, Device > &x, vector_expression< VecV, Device > const &v, elementwise_tag) |
template<class VecX , class VecV , class Device > | |
void | assign (vector_expression< VecX, Device > &x, vector_expression< VecV, Device > const &v, elementwise_tag, typename VecX::value_type alpha) |
template<class VecX , class VecV , class Device > | |
void | assign (vector_expression< VecX, Device > &x, vector_expression< VecV, Device > const &v, blockwise_tag, typename VecX::value_type alpha=1) |
template<class VecX , class VecV , class Device > | |
void | plus_assign (vector_expression< VecX, Device > &x, vector_expression< VecV, Device > const &v, elementwise_tag) |
template<class VecX , class VecV , class Device > | |
void | plus_assign (vector_expression< VecX, Device > &x, vector_expression< VecV, Device > const &v, elementwise_tag, typename VecX::value_type alpha) |
template<class VecX , class VecV , class Device > | |
void | plus_assign (vector_expression< VecX, Device > &x, vector_expression< VecV, Device > const &v, blockwise_tag, typename VecX::value_type alpha=1) |
template<class MatA , class MatB , class Device > | |
void | assign (matrix_expression< MatA, Device > &A, matrix_expression< MatB, Device > const &B, elementwise_tag) |
template<class MatA , class MatB , class Device > | |
void | assign (matrix_expression< MatA, Device > &A, matrix_expression< MatB, Device > const &B, elementwise_tag, typename MatA::value_type alpha) |
template<class MatA , class MatB , class Device > | |
void | assign (matrix_expression< MatA, Device > &A, matrix_expression< MatB, Device > const &B, blockwise_tag, typename MatA::value_type alpha=1) |
template<class MatA , class MatB , class Device > | |
void | plus_assign (matrix_expression< MatA, Device > &A, matrix_expression< MatB, Device > const &B, elementwise_tag) |
template<class MatA , class MatB , class Device > | |
void | plus_assign (matrix_expression< MatA, Device > &A, matrix_expression< MatB, Device > const &B, elementwise_tag, typename MatA::value_type alpha) |
template<class MatA , class MatB , class Device > | |
void | plus_assign (matrix_expression< MatA, Device > &A, matrix_expression< MatB, Device > const &B, blockwise_tag, typename MatA::value_type alpha=1) |
template<class Arg1 , class Arg2 , class T > | |
boost::compute::detail::meta_kernel & | operator<< (boost::compute::detail::meta_kernel &k, induced_matrix_element< Arg1, Arg2, T > const &e) |
template<class Arg1 , class Arg2 , class T > | |
boost::compute::detail::meta_kernel & | operator<< (boost::compute::detail::meta_kernel &k, induced_matrix_adaptor_element< Arg1, Arg2, T > const &e) |
template<class Arg , class T > | |
boost::compute::detail::meta_kernel & | operator<< (boost::compute::detail::meta_kernel &k, induced_vector_element< Arg, T > const &e) |
template<class Arg1 , class Arg2 , class T > | |
boost::compute::detail::meta_kernel & | operator<< (boost::compute::detail::meta_kernel &k, induced_vector_adaptor_element< Arg1, Arg2, T > const &e) |
template<class VectorT , class VectorU , class WeightT > | |
VectorT::value_type | diagonalMahalanobisDistanceSqr (VectorT const &op1, VectorU const &op2, WeightT const &weights, sparse_tag, sparse_tag) |
Normalized Euclidian squared distance (squared diagonal Mahalanobis) between two vectors, optimized for two Compressed arguments. More... | |
template<class VectorT , class VectorU , class WeightT > | |
VectorT::value_type | diagonalMahalanobisDistanceSqr (VectorT const &op1, VectorU const &op2, WeightT const &weights, sparse_tag, dense_tag) |
Normalized Euclidian squared distance (squared diagonal Mahalanobis) between two vectors, optimized for one dense and one sparse argument. More... | |
template<class VectorT , class VectorU , class WeightT > | |
VectorT::value_type | diagonalMahalanobisDistanceSqr (VectorT const &op1, VectorU const &op2, WeightT const &weights, dense_tag arg1tag, sparse_tag arg2tag) |
template<class VectorT , class VectorU , class WeightT > | |
VectorT::value_type | diagonalMahalanobisDistanceSqr (VectorT const &op1, VectorU const &op2, WeightT const &weights, dense_tag, dense_tag) |
template<class MatrixT , class VectorU , class Result > | |
void | distanceSqrBlockVector (MatrixT const &operands, VectorU const &op2, Result &result) |
template<class MatrixX , class MatrixY , class Result > | |
void | distanceSqrBlockBlockRowWise (MatrixX const &X, MatrixY const &Y, Result &distances) |
implementation for two input blocks where at least one matrix has only a few rows More... | |
template<class MatrixX , class MatrixY , class Result > | |
void | distanceSqrBlockBlock (MatrixX const &X, MatrixY const &Y, Result &distances, dense_tag, dense_tag) |
implementation for two dense input blocks More... | |
template<class MatrixX , class MatrixY , class Result > | |
void | distanceSqrBlockBlock (MatrixX const &X, MatrixY const &Y, Result &distances, sparse_tag, sparse_tag) |
void remora::detail::assign | ( | vector_expression< VecX, Device > & | x, |
vector_expression< VecV, Device > const & | v, | ||
elementwise_tag | |||
) |
Definition at line 124 of file assignment.hpp.
References remora::kernels::assign().
Referenced by remora::assign(), remora::matrix< T, L, gpu_tag >::matrix(), remora::dense_matrix_adaptor< T, Orientation, gpu_tag >::operator=(), remora::vector< T, gpu_tag >::operator=(), remora::matrix< T, L, gpu_tag >::operator=(), remora::noalias_proxy< C >::operator=(), and remora::vector< T, gpu_tag >::vector().
void remora::detail::assign | ( | vector_expression< VecX, Device > & | x, |
vector_expression< VecV, Device > const & | v, | ||
elementwise_tag | , | ||
typename VecX::value_type | alpha | ||
) |
Definition at line 128 of file assignment.hpp.
References remora::kernels::assign().
void remora::detail::assign | ( | vector_expression< VecX, Device > & | x, |
vector_expression< VecV, Device > const & | v, | ||
blockwise_tag | , | ||
typename VecX::value_type | alpha = 1 |
||
) |
Definition at line 136 of file assignment.hpp.
void remora::detail::assign | ( | matrix_expression< MatA, Device > & | A, |
matrix_expression< MatB, Device > const & | B, | ||
elementwise_tag | |||
) |
Definition at line 238 of file assignment.hpp.
References remora::kernels::assign().
void remora::detail::assign | ( | matrix_expression< MatA, Device > & | A, |
matrix_expression< MatB, Device > const & | B, | ||
elementwise_tag | , | ||
typename MatA::value_type | alpha | ||
) |
Definition at line 242 of file assignment.hpp.
References remora::kernels::assign().
void remora::detail::assign | ( | matrix_expression< MatA, Device > & | A, |
matrix_expression< MatB, Device > const & | B, | ||
blockwise_tag | , | ||
typename MatA::value_type | alpha = 1 |
||
) |
Definition at line 250 of file assignment.hpp.
VectorT::value_type remora::detail::diagonalMahalanobisDistanceSqr | ( | VectorT const & | op1, |
VectorU const & | op2, | ||
WeightT const & | weights, | ||
sparse_tag | , | ||
sparse_tag | |||
) |
Normalized Euclidian squared distance (squared diagonal Mahalanobis) between two vectors, optimized for two Compressed arguments.
Contrary to some conventions, dimension-wise weights are considered instead of std. deviations: \( d^2(v) = \sum_i w_i (x_i-z_i)^2 \) NOTE: The weights themselves are not squared, but multiplied onto the squared components.
Definition at line 85 of file Metrics.h.
References shark::sqr(), and remora::sum().
Referenced by remora::diagonalMahalanobisDistance(), diagonalMahalanobisDistanceSqr(), remora::diagonalMahalanobisDistanceSqr(), remora::distanceSqr(), distanceSqrBlockVector(), and shark::ARDKernelUnconstrained< InputType >::eval().
VectorT::value_type remora::detail::diagonalMahalanobisDistanceSqr | ( | VectorT const & | op1, |
VectorU const & | op2, | ||
WeightT const & | weights, | ||
sparse_tag | , | ||
dense_tag | |||
) |
Normalized Euclidian squared distance (squared diagonal Mahalanobis) between two vectors, optimized for one dense and one sparse argument.
Definition at line 137 of file Metrics.h.
References shark::sqr(), and remora::sum().
VectorT::value_type remora::detail::diagonalMahalanobisDistanceSqr | ( | VectorT const & | op1, |
VectorU const & | op2, | ||
WeightT const & | weights, | ||
dense_tag | arg1tag, | ||
sparse_tag | arg2tag | ||
) |
Definition at line 165 of file Metrics.h.
References diagonalMahalanobisDistanceSqr().
VectorT::value_type remora::detail::diagonalMahalanobisDistanceSqr | ( | VectorT const & | op1, |
VectorU const & | op2, | ||
WeightT const & | weights, | ||
dense_tag | , | ||
dense_tag | |||
) |
Definition at line 176 of file Metrics.h.
References remora::inner_prod().
void remora::detail::distanceSqrBlockBlock | ( | MatrixX const & | X, |
MatrixY const & | Y, | ||
Result & | distances, | ||
dense_tag | , | ||
dense_tag | |||
) |
implementation for two dense input blocks
Definition at line 232 of file Metrics.h.
References distanceSqrBlockBlockRowWise(), remora::noalias(), remora::norm_sqr(), remora::prod(), remora::repeat(), remora::row(), and remora::trans().
Referenced by remora::distanceSqr().
void remora::detail::distanceSqrBlockBlock | ( | MatrixX const & | X, |
MatrixY const & | Y, | ||
Result & | distances, | ||
sparse_tag | , | ||
sparse_tag | |||
) |
Definition at line 263 of file Metrics.h.
References distanceSqrBlockBlockRowWise().
void remora::detail::distanceSqrBlockBlockRowWise | ( | MatrixX const & | X, |
MatrixY const & | Y, | ||
Result & | distances | ||
) |
implementation for two input blocks where at least one matrix has only a few rows
Definition at line 206 of file Metrics.h.
References remora::column(), distanceSqrBlockVector(), and remora::row().
Referenced by distanceSqrBlockBlock().
void remora::detail::distanceSqrBlockVector | ( | MatrixT const & | operands, |
VectorU const & | op2, | ||
Result & | result | ||
) |
Definition at line 188 of file Metrics.h.
References diagonalMahalanobisDistanceSqr(), and remora::row().
Referenced by remora::distanceSqr(), and distanceSqrBlockBlockRowWise().
boost::compute::detail::meta_kernel& remora::detail::operator<< | ( | boost::compute::detail::meta_kernel & | k, |
induced_vector_adaptor_element< Arg1, Arg2, T > const & | e | ||
) |
Definition at line 47 of file vector_proxy.hpp.
References remora::detail::induced_vector_adaptor_element< Arg, T >::arg, and remora::detail::induced_vector_adaptor_element< Arg, T >::storage.
boost::compute::detail::meta_kernel& remora::detail::operator<< | ( | boost::compute::detail::meta_kernel & | k, |
induced_matrix_adaptor_element< Arg1, Arg2, T > const & | e | ||
) |
boost::compute::detail::meta_kernel& remora::detail::operator<< | ( | boost::compute::detail::meta_kernel & | k, |
induced_vector_element< Arg, T > const & | e | ||
) |
Definition at line 49 of file vector.hpp.
References remora::detail::induced_vector_element< Arg, T >::arg, remora::detail::induced_vector_element< Arg, T >::buffer, and remora::detail::induced_vector_element< Arg, T >::stride.
boost::compute::detail::meta_kernel& remora::detail::operator<< | ( | boost::compute::detail::meta_kernel & | k, |
induced_matrix_element< Arg1, Arg2, T > const & | e | ||
) |
Definition at line 50 of file matrix.hpp.
References remora::detail::induced_matrix_element< Arg1, Arg2, T >::arg1, remora::detail::induced_matrix_element< Arg1, Arg2, T >::arg2, remora::detail::induced_matrix_element< Arg1, Arg2, T >::buffer, and remora::detail::induced_matrix_element< Arg1, Arg2, T >::leading_dimension.
void remora::detail::plus_assign | ( | vector_expression< VecX, Device > & | x, |
vector_expression< VecV, Device > const & | v, | ||
elementwise_tag | |||
) |
Definition at line 143 of file assignment.hpp.
Referenced by remora::operator+=(), remora::noalias_proxy< C >::operator+=(), remora::operator-=(), remora::noalias_proxy< C >::operator-=(), and remora::plus_assign().
void remora::detail::plus_assign | ( | vector_expression< VecX, Device > & | x, |
vector_expression< VecV, Device > const & | v, | ||
elementwise_tag | , | ||
typename VecX::value_type | alpha | ||
) |
Definition at line 147 of file assignment.hpp.
References remora::kernels::assign().
void remora::detail::plus_assign | ( | vector_expression< VecX, Device > & | x, |
vector_expression< VecV, Device > const & | v, | ||
blockwise_tag | , | ||
typename VecX::value_type | alpha = 1 |
||
) |
Definition at line 155 of file assignment.hpp.
void remora::detail::plus_assign | ( | matrix_expression< MatA, Device > & | A, |
matrix_expression< MatB, Device > const & | B, | ||
elementwise_tag | |||
) |
Definition at line 257 of file assignment.hpp.
void remora::detail::plus_assign | ( | matrix_expression< MatA, Device > & | A, |
matrix_expression< MatB, Device > const & | B, | ||
elementwise_tag | , | ||
typename MatA::value_type | alpha | ||
) |
Definition at line 261 of file assignment.hpp.
References remora::kernels::assign().
void remora::detail::plus_assign | ( | matrix_expression< MatA, Device > & | A, |
matrix_expression< MatB, Device > const & | B, | ||
blockwise_tag | , | ||
typename MatA::value_type | alpha = 1 |
||
) |
Definition at line 269 of file assignment.hpp.