arrayops_bones.hpp
Go to the documentation of this file.
1 // Copyright (C) 2011 NICTA (www.nicta.com.au)
2 // Copyright (C) 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 
17 
18 class arrayops
19  {
20  public:
21 
22  template<typename eT>
23  arma_hot arma_inline static void
24  copy(eT* dest, const eT* src, const uword n_elem);
25 
26 
27  template<typename eT>
28  static inline void
29  copy_big(eT* dest, const eT* src, const uword n_elem);
30 
31 
32  //
33  // array = convert(array)
34 
35  template<typename out_eT, typename in_eT>
36  arma_hot arma_inline static void
37  convert_cx_scalar(out_eT& out, const in_eT& in, const typename arma_not_cx<out_eT>::result* junk1 = 0, const typename arma_not_cx< in_eT>::result* junk2 = 0);
38 
39  template<typename out_eT, typename in_T>
40  arma_hot arma_inline static void
41  convert_cx_scalar(out_eT& out, const std::complex<in_T>& in, const typename arma_not_cx<out_eT>::result* junk = 0);
42 
43  template<typename out_T, typename in_T>
44  arma_hot arma_inline static void
45  convert_cx_scalar(std::complex<out_T>& out, const std::complex< in_T>& in);
46 
47  template<typename out_eT, typename in_eT>
48  arma_hot inline static void
49  convert(out_eT* dest, const in_eT* src, const uword n_elem);
50 
51  template<typename out_eT, typename in_eT>
52  arma_hot inline static void
53  convert_cx(out_eT* dest, const in_eT* src, const uword n_elem);
54 
55 
56  //
57  // array op= array
58 
59  template<typename eT>
60  arma_hot inline static
61  void
62  inplace_plus(eT* dest, const eT* src, const uword n_elem);
63 
64  template<typename eT>
65  arma_hot inline static
66  void
67  inplace_minus(eT* dest, const eT* src, const uword n_elem);
68 
69  template<typename eT>
70  arma_hot inline static
71  void
72  inplace_mul(eT* dest, const eT* src, const uword n_elem);
73 
74  template<typename eT>
75  arma_hot inline static
76  void
77  inplace_div(eT* dest, const eT* src, const uword n_elem);
78 
79 
80  //
81  // array op= scalar
82 
83  template<typename eT>
84  arma_hot inline static
85  void
86  inplace_set(eT* dest, const eT val, const uword n_elem);
87 
88  template<typename eT>
89  arma_hot inline static
90  void
91  inplace_plus(eT* dest, const eT val, const uword n_elem);
92 
93  template<typename eT>
94  arma_hot inline static
95  void
96  inplace_minus(eT* dest, const eT val, const uword n_elem);
97 
98  template<typename eT>
99  arma_hot inline static void
100  inplace_mul(eT* dest, const eT val, const uword n_elem);
101 
102  template<typename eT>
103  arma_hot inline static
104  void
105  inplace_div(eT* dest, const eT val, const uword n_elem);
106 
107 
108  //
109  // scalar = op(array)
110 
111  template<typename eT>
112  arma_hot arma_pure inline static
113  eT
114  accumulate(const eT* src, const uword n_elem);
115 
116  template<typename eT>
117  arma_hot arma_pure inline static
118  eT
119  product(const eT* src, const uword n_elem);
120 
121  template<typename eT>
122  arma_hot arma_pure inline static
123  bool
124  is_finite(const eT* src, const uword n_elem);
125 
126  template<typename eT>
127  arma_hot arma_pure inline static
128  typename get_pod_type<eT>::result
129  norm_1(const eT* src, const uword n_elem);
130 
131  template<typename eT>
132  arma_hot arma_pure inline static
133  eT
134  norm_2(const eT* src, const uword n_elem, const typename arma_not_cx<eT>::result* junk = 0);
135 
136  template<typename T>
137  arma_hot arma_pure inline static
138  T
139  norm_2(const std::complex<T>* src, const uword n_elem);
140 
141  template<typename eT>
142  arma_hot arma_pure inline static
143  typename get_pod_type<eT>::result
144  norm_k(const eT* src, const uword n_elem, const int k);
145 
146  template<typename eT>
147  arma_hot arma_pure inline static
148  typename get_pod_type<eT>::result
149  norm_max(const eT* src, const uword n_elem);
150 
151  template<typename eT>
152  arma_hot arma_pure inline static
153  typename get_pod_type<eT>::result
154  norm_min(const eT* src, const uword n_elem);
155 
156  };
157 
158 
159 
arma_hot static arma_pure get_pod_type< eT >::result norm_max(const eT *src, const uword n_elem)
arma_hot static arma_inline void copy(eT *dest, const eT *src, const uword n_elem)
static arma_hot void inplace_minus(eT *dest, const eT *src, const uword n_elem)
arma_hot static arma_inline void convert_cx_scalar(out_eT &out, const in_eT &in, const typename arma_not_cx< out_eT >::result *junk1=0, const typename arma_not_cx< in_eT >::result *junk2=0)
static arma_hot void inplace_mul(eT *dest, const eT *src, const uword n_elem)
arma_hot static arma_pure get_pod_type< eT >::result norm_min(const eT *src, const uword n_elem)
arma_hot static arma_pure eT product(const eT *src, const uword n_elem)
u32 uword
Definition: typedef.hpp:85
static void copy_big(eT *dest, const eT *src, const uword n_elem)
static arma_hot void inplace_plus(eT *dest, const eT *src, const uword n_elem)
static arma_hot void inplace_div(eT *dest, const eT *src, const uword n_elem)
static arma_hot void convert_cx(out_eT *dest, const in_eT *src, const uword n_elem)
static arma_hot void inplace_set(eT *dest, const eT val, const uword n_elem)
static arma_hot void convert(out_eT *dest, const in_eT *src, const uword n_elem)
arma_hot static arma_pure get_pod_type< eT >::result norm_1(const eT *src, const uword n_elem)
#define arma_pure
#define arma_inline
arma_hot static arma_pure get_pod_type< eT >::result norm_k(const eT *src, const uword n_elem, const int k)
arma_hot static arma_pure bool is_finite(const eT *src, const uword n_elem)
arma_hot static arma_pure eT accumulate(const eT *src, const uword n_elem)
#define arma_hot
arma_hot static arma_pure eT norm_2(const eT *src, const uword n_elem, const typename arma_not_cx< eT >::result *junk=0)


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