Mercurial > hg > octave-lyh
diff 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 |
line wrap: on
line diff
--- a/liboctave/ArrayN.h +++ b/liboctave/ArrayN.h @@ -64,13 +64,18 @@ ArrayN (const dim_vector& dv, const T& val) : Array<T> (dv) { fill (val); } - ArrayN (const Array2<T>& a) : Array<T> (a, a.dims ()) { } + template <class U> + explicit ArrayN (const Array2<U>& a) : Array<T> (a, a.dims ()) { } - ArrayN (const ArrayN<T>& a) : Array<T> (a, a.dims ()) { } + template <class U> + ArrayN (const ArrayN<U>& a) : Array<T> (a, a.dims ()) { } - ArrayN (const Array<T>& a) : Array<T> (a) { } + template <class U> + ArrayN (const Array<U>& a) : Array<T> (a) { } - ArrayN (const Array<T>& a, const dim_vector& dv) : Array<T> (a, dv) { } + template <class U> + ArrayN (const Array<U>& a, const dim_vector& dv) + : Array<T> (a, dv) { } ~ArrayN (void) { } @@ -82,6 +87,15 @@ return *this; } + ArrayN<T> reshape (const dim_vector& new_dims) const + { return Array<T>::reshape (new_dims); } + + ArrayN<T> permute (const Array<int>& vec, bool inv = false) const + { return Array<T>::permute (vec, inv); } + + ArrayN<T> ipermute (const Array<int>& vec) const + { return Array<T>::ipermute (vec); } + void resize (const dim_vector& dv) { this->resize_no_fill (dv); } @@ -90,6 +104,8 @@ ArrayN<T> squeeze (void) const { return Array<T>::squeeze (); } + ArrayN<T> transpose (void) const { return Array<T>::transpose (); } + ArrayN<T>& insert (const ArrayN<T>& a, const dim_vector& dv) { Array<T>::insert (a, dv);