GNU Octave  4.2.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
fColVector.h
Go to the documentation of this file.
1 /*
2 
3 Copyright (C) 1994-2017 John W. Eaton
4 Copyright (C) 2010 VZLU Prague
5 
6 This file is part of Octave.
7 
8 Octave is free software; you can redistribute it and/or modify it
9 under the terms of the GNU General Public License as published by the
10 Free Software Foundation; either version 3 of the License, or (at your
11 option) any later version.
12 
13 Octave is distributed in the hope that it will be useful, but WITHOUT
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16 for more details.
17 
18 You should have received a copy of the GNU General Public License
19 along with Octave; see the file COPYING. If not, see
20 <http://www.gnu.org/licenses/>.
21 
22 */
23 
24 #if ! defined (octave_fColVector_h)
25 #define octave_fColVector_h 1
26 
27 #include "octave-config.h"
28 
29 #include "MArray.h"
30 
31 #include "mx-defs.h"
32 
33 class
34 OCTAVE_API
36 {
37 public:
38 
39  FloatColumnVector (void) : MArray<float> (dim_vector (0, 1)) { }
40 
42  : MArray<float> (dim_vector (n, 1)) { }
43 
44  explicit FloatColumnVector (const dim_vector& dv)
45  : MArray<float> (dv.as_column ()) { }
46 
48  : MArray<float> (dim_vector (n, 1), val) { }
49 
50  FloatColumnVector (const FloatColumnVector& a) : MArray<float> (a) { }
51 
53  : MArray<float> (a.as_column ()) { }
54 
56  : MArray<float> (a.as_column ()) { }
57 
59  {
61  return *this;
62  }
63 
64  bool operator == (const FloatColumnVector& a) const;
65  bool operator != (const FloatColumnVector& a) const;
66 
67  // destructive insert/delete/reorder operations
68 
70 
71  FloatColumnVector& fill (float val);
73 
74  FloatColumnVector stack (const FloatColumnVector& a) const;
75 
76  FloatRowVector transpose (void) const;
77 
78  friend OCTAVE_API FloatColumnVector real (const FloatComplexColumnVector& a);
79  friend OCTAVE_API FloatColumnVector imag (const FloatComplexColumnVector& a);
80 
81  // resize is the destructive equivalent for this one
82 
84 
86 
87  // matrix by column vector -> column vector operations
88 
89  friend OCTAVE_API FloatColumnVector operator * (const FloatMatrix& a,
90  const FloatColumnVector& b);
91 
92  // diagonal matrix by column vector -> column vector operations
93 
94  friend OCTAVE_API FloatColumnVector operator * (const FloatDiagMatrix& a,
95  const FloatColumnVector& b);
96 
97  // other operations
98 
99  float min (void) const;
100  float max (void) const;
101 
102  FloatColumnVector abs (void) const;
103 
104  // i/o
105 
106  friend OCTAVE_API std::ostream& operator << (std::ostream& os,
107  const FloatColumnVector& a);
108  friend OCTAVE_API std::istream& operator >> (std::istream& is,
110 
111  void resize (octave_idx_type n, const float& rfv = 0)
112  {
113  Array<float>::resize (dim_vector (n, 1), rfv);
114  }
115 
117  { Array<float>::clear (n, 1); }
118 
119 };
120 
121 // Publish externally used friend functions.
122 
123 extern OCTAVE_API FloatColumnVector real (const FloatComplexColumnVector& a);
124 extern OCTAVE_API FloatColumnVector imag (const FloatComplexColumnVector& a);
125 
127 
128 #endif
OCTAVE_API FloatColumnVector real(const FloatComplexColumnVector &a)
Definition: fColVector.cc:136
FloatComplexRowVector & fill(float val)
Definition: fCRowVector.cc:97
bool operator!=(const dim_vector &a, const dim_vector &b)
Definition: dim-vector.h:567
std::istream & operator>>(std::istream &is, SparseBoolMatrix &a)
Definition: boolSparse.cc:279
FloatComplexRowVector & operator=(const FloatComplexRowVector &a)
Definition: fCRowVector.h:65
FloatColumnVector operator*(const FloatColumnVector &x, const float &y)
Definition: fColVector.h:126
FloatColumnVector(const FloatColumnVector &a)
Definition: fColVector.h:50
identity matrix If supplied two scalar respectively For allows like xample val
Definition: data.cc:5068
FloatColumnVector(void)
Definition: fColVector.h:39
void resize(octave_idx_type n, const float &rfv=0)
Definition: fColVector.h:111
static void transpose(octave_idx_type N, const octave_idx_type *ridx, const octave_idx_type *cidx, octave_idx_type *ridx2, octave_idx_type *cidx2)
Definition: symrcm.cc:382
FloatColumnVector(const dim_vector &dv)
Definition: fColVector.h:44
void clear(octave_idx_type n)
Definition: fColVector.h:116
FloatComplexRowVector extract_n(octave_idx_type c1, octave_idx_type n) const
Definition: fCRowVector.cc:229
OCTAVE_API FloatColumnVector imag(const FloatComplexColumnVector &a)
Definition: fColVector.cc:142
FloatColumnVector(const Array< float > &a)
Definition: fColVector.h:55
#define MARRAY_FORWARD_DEFS(B, R, T)
Definition: MArray.h:126
calling an anonymous function involves an overhead quite comparable to the overhead of an m file function Passing a handle to a built in function is because the interpreter is not involved in the internal loop For a
Definition: cellfun.cc:398
Array< FloatComplex > as_column(void) const
Return the array as a column vector.
Definition: Array.h:367
FloatComplexRowVector extract(octave_idx_type c1, octave_idx_type c2) const
Definition: fCRowVector.cc:214
void resize(const dim_vector &dv, const T &rfv)
Definition: Array.cc:1028
FloatColumnVector(octave_idx_type n)
Definition: fColVector.h:41
bool operator==(const dim_vector &a, const dim_vector &b)
Definition: dim-vector.h:538
FloatColumnVector(octave_idx_type n, float val)
Definition: fColVector.h:47
charNDArray max(char d, const charNDArray &m)
Definition: chNDArray.cc:228
void clear(void)
Definition: Array.cc:95
FloatColumnVector(const MArray< float > &a)
Definition: fColVector.h:52
OCTAVE_EXPORT octave_value_list return the value of the option it must match the dimension of the state and the relative tolerance must also be a vector of the same length tem it must match the dimension of the state and the absolute tolerance must also be a vector of the same length The local error test applied at each integration step is xample roup abs(local error in x(i))<
template OCTAVE_API std::ostream & operator<<(std::ostream &, const Array< bool > &)
b
Definition: cellfun.cc:398
FloatComplexRowVector & insert(const FloatRowVector &a, octave_idx_type c)
Definition: fCRowVector.cc:58
write the output to stdout if nargout is
Definition: load-save.cc:1576
Vector representing the dimensions (size) of an Array.
Definition: dim-vector.h:87
dim_vector dv
Definition: sub2ind.cc:263
MArray< T > & operator=(const MArray< T > &a)
Definition: MArray.h:85
charNDArray min(char d, const charNDArray &m)
Definition: chNDArray.cc:205