op_dot_proto.hpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 class op_dot
00024 {
00025 public:
00026
00027 template<typename eT>
00028 inline arma_hot arma_pure static eT direct_dot(const u32 n_elem, const eT* const A, const eT* const B);
00029
00030 template<typename eT>
00031 inline arma_hot arma_pure static eT direct_dot(const u32 n_elem, const eT* const A, const eT* const B, const eT* C);
00032
00033 template<typename T1, typename T2>
00034 arma_inline arma_hot static typename T1::elem_type apply(const Base<typename T1::elem_type,T1>& X, const Base<typename T1::elem_type,T2>& Y);
00035
00036 template<typename T1, typename T2>
00037 inline arma_hot static typename T1::elem_type apply_unwrap(const Base<typename T1::elem_type,T1>& X, const Base<typename T1::elem_type,T2>& Y);
00038
00039 template<typename T1, typename T2>
00040 inline arma_hot static typename T1::elem_type apply_proxy (const Base<typename T1::elem_type,T1>& X, const Base<typename T1::elem_type,T2>& Y);
00041 };
00042
00043
00044
00045
00046
00047
00048 class op_norm_dot
00049 {
00050 public:
00051
00052 template<typename T1, typename T2>
00053 arma_inline arma_hot static typename T1::elem_type apply(const Base<typename T1::elem_type,T1>& X, const Base<typename T1::elem_type,T2>& Y);
00054
00055 template<typename T1, typename T2>
00056 inline arma_hot static typename T1::elem_type apply_unwrap(const Base<typename T1::elem_type,T1>& X, const Base<typename T1::elem_type,T2>& Y);
00057
00058 template<typename T1, typename T2>
00059 inline arma_hot static typename T1::elem_type apply_proxy (const Base<typename T1::elem_type,T1>& X, const Base<typename T1::elem_type,T2>& Y);
00060 };
00061
00062
00063
00064