comparison liboctave/ArrayN.h @ 4902:bd043a433918

[project @ 2004-06-14 18:46:20 by jwe]
author jwe
date Mon, 14 Jun 2004 18:49:09 +0000
parents e941e1470d7b
children e35b034d3523
comparison
equal deleted inserted replaced
4901:35bfb4e0b96b 4902:bd043a433918
62 ArrayN (const dim_vector& dv) : Array<T> (dv) { } 62 ArrayN (const dim_vector& dv) : Array<T> (dv) { }
63 63
64 ArrayN (const dim_vector& dv, const T& val) 64 ArrayN (const dim_vector& dv, const T& val)
65 : Array<T> (dv) { fill (val); } 65 : Array<T> (dv) { fill (val); }
66 66
67 ArrayN (const Array2<T>& a) : Array<T> (a, a.dims ()) { } 67 template <class U>
68 explicit ArrayN (const Array2<U>& a) : Array<T> (a, a.dims ()) { }
68 69
69 ArrayN (const ArrayN<T>& a) : Array<T> (a, a.dims ()) { } 70 template <class U>
71 ArrayN (const ArrayN<U>& a) : Array<T> (a, a.dims ()) { }
70 72
71 ArrayN (const Array<T>& a) : Array<T> (a) { } 73 template <class U>
74 ArrayN (const Array<U>& a) : Array<T> (a) { }
72 75
73 ArrayN (const Array<T>& a, const dim_vector& dv) : Array<T> (a, dv) { } 76 template <class U>
77 ArrayN (const Array<U>& a, const dim_vector& dv)
78 : Array<T> (a, dv) { }
74 79
75 ~ArrayN (void) { } 80 ~ArrayN (void) { }
76 81
77 ArrayN<T>& operator = (const ArrayN<T>& a) 82 ArrayN<T>& operator = (const ArrayN<T>& a)
78 { 83 {
80 Array<T>::operator = (a); 85 Array<T>::operator = (a);
81 86
82 return *this; 87 return *this;
83 } 88 }
84 89
90 ArrayN<T> reshape (const dim_vector& new_dims) const
91 { return Array<T>::reshape (new_dims); }
92
93 ArrayN<T> permute (const Array<int>& vec, bool inv = false) const
94 { return Array<T>::permute (vec, inv); }
95
96 ArrayN<T> ipermute (const Array<int>& vec) const
97 { return Array<T>::ipermute (vec); }
98
85 void resize (const dim_vector& dv) 99 void resize (const dim_vector& dv)
86 { this->resize_no_fill (dv); } 100 { this->resize_no_fill (dv); }
87 101
88 void resize (const dim_vector& dv, const T& val) 102 void resize (const dim_vector& dv, const T& val)
89 { Array<T>::resize (dv, val); } 103 { Array<T>::resize (dv, val); }
90 104
91 ArrayN<T> squeeze (void) const { return Array<T>::squeeze (); } 105 ArrayN<T> squeeze (void) const { return Array<T>::squeeze (); }
106
107 ArrayN<T> transpose (void) const { return Array<T>::transpose (); }
92 108
93 ArrayN<T>& insert (const ArrayN<T>& a, const dim_vector& dv) 109 ArrayN<T>& insert (const ArrayN<T>& a, const dim_vector& dv)
94 { 110 {
95 Array<T>::insert (a, dv); 111 Array<T>::insert (a, dv);
96 return *this; 112 return *this;