op_dot_bones.hpp
Go to the documentation of this file.
1 // Copyright (C) 2008-2011 NICTA (www.nicta.com.au)
2 // Copyright (C) 2008-2011 Conrad Sanderson
3 //
4 // This file is part of the Armadillo C++ library.
5 // It is provided without any warranty of fitness
6 // for any purpose. You can redistribute this file
7 // and/or modify it under the terms of the GNU
8 // Lesser General Public License (LGPL) as published
9 // by the Free Software Foundation, either version 3
10 // of the License or (at your option) any later version.
11 // (see http://www.opensource.org/licenses for more info)
12 
13 
16 
19 
20 class op_dot
21  {
22  public:
23 
24  template<typename eT>
25  arma_hot arma_pure inline static eT direct_dot_arma(const uword n_elem, const eT* const A, const eT* const B);
26 
27  template<typename eT>
28  arma_hot arma_pure inline static typename arma_float_only<eT>::result
29  direct_dot(const uword n_elem, const eT* const A, const eT* const B);
30 
31  template<typename eT>
32  arma_hot arma_pure inline static typename arma_cx_only<eT>::result
33  direct_dot(const uword n_elem, const eT* const A, const eT* const B);
34 
35  template<typename eT>
37  direct_dot(const uword n_elem, const eT* const A, const eT* const B);
38 
39 
40  template<typename eT>
41  arma_hot arma_pure inline static eT direct_dot(const uword n_elem, const eT* const A, const eT* const B, const eT* C);
42 
43  template<typename T1, typename T2>
44  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);
45 
46  template<typename T1, typename T2>
47  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);
48 
49  template<typename T1, typename T2>
50  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);
51  };
52 
53 
54 
57 
59  {
60  public:
61 
62  template<typename T1, typename T2>
63  arma_hot inline static typename T1::elem_type apply (const Base<typename T1::elem_type,T1>& X, const Base<typename T1::elem_type,T2>& Y);
64 
65  template<typename T1, typename T2>
66  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);
67  };
68 
69 
70 
71 class op_cdot
72  {
73  public:
74 
75  template<typename T1, typename T2>
76  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);
77  };
78 
79 
80 
static arma_hot T1::elem_type apply_proxy(const Base< typename T1::elem_type, T1 > &X, const Base< typename T1::elem_type, T2 > &Y)
arma_hot static arma_pure arma_float_only< eT >::result direct_dot(const uword n_elem, const eT *const A, const eT *const B)
static arma_hot T1::elem_type apply_unwrap(const Base< typename T1::elem_type, T1 > &X, const Base< typename T1::elem_type, T2 > &Y)
u32 uword
Definition: typedef.hpp:85
normalised dot product operation
arma_hot static arma_inline T1::elem_type apply(const Base< typename T1::elem_type, T1 > &X, const Base< typename T1::elem_type, T2 > &Y)
#define arma_pure
#define arma_inline
dot product operation
#define arma_hot
arma_hot static arma_pure eT direct_dot_arma(const uword n_elem, const eT *const A, const eT *const B)


armadillo_matrix
Author(s):
autogenerated on Fri Apr 16 2021 02:31:58