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 arma_hot arma_pure inline static eT direct_dot_arma(const u32 n_elem, const eT* const A, const eT* const B);
00029
00030 template<typename eT>
00031 arma_hot arma_pure inline static typename arma_float_only<eT>::result
00032 direct_dot(const u32 n_elem, const eT* const A, const eT* const B);
00033
00034 template<typename eT>
00035 arma_hot arma_pure inline static typename arma_cx_only<eT>::result
00036 direct_dot(const u32 n_elem, const eT* const A, const eT* const B);
00037
00038 template<typename eT>
00039 arma_hot arma_pure inline static typename arma_integral_only<eT>::result
00040 direct_dot(const u32 n_elem, const eT* const A, const eT* const B);
00041
00042
00043 template<typename eT>
00044 arma_hot arma_pure inline static eT direct_dot(const u32 n_elem, const eT* const A, const eT* const B, const eT* C);
00045
00046 template<typename T1, typename T2>
00047 arma_hot arma_inline static typename T1::elem_type apply(const Base<typename T1::elem_type,T1>& X, const Base<typename T1::elem_type,T2>& Y);
00048
00049 template<typename T1, typename T2>
00050 arma_hot inline static typename T1::elem_type apply_unwrap(const Base<typename T1::elem_type,T1>& X, const Base<typename T1::elem_type,T2>& Y);
00051
00052 template<typename T1, typename T2>
00053 arma_hot inline static typename T1::elem_type apply_proxy (const Base<typename T1::elem_type,T1>& X, const Base<typename T1::elem_type,T2>& Y);
00054 };
00055
00056
00057
00058
00059
00060
00061 class op_norm_dot
00062 {
00063 public:
00064
00065 template<typename T1, typename T2>
00066 arma_hot arma_inline static typename T1::elem_type apply(const Base<typename T1::elem_type,T1>& X, const Base<typename T1::elem_type,T2>& Y);
00067
00068 template<typename T1, typename T2>
00069 arma_hot inline static typename T1::elem_type apply_unwrap(const Base<typename T1::elem_type,T1>& X, const Base<typename T1::elem_type,T2>& Y);
00070
00071 template<typename T1, typename T2>
00072 arma_hot inline static typename T1::elem_type apply_proxy (const Base<typename T1::elem_type,T1>& X, const Base<typename T1::elem_type,T2>& Y);
00073 };
00074
00075
00076
00077