diff doc/liboctave/array.texi @ 2333:b1a56412c385

[project @ 1996-07-19 02:20:16 by jwe] Initial revision
author jwe
date Fri, 19 Jul 1996 02:26:23 +0000
parents
children 09a3064a3a17
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/doc/liboctave/array.texi
@@ -0,0 +1,181 @@
+@node Arrays, Matrix and Vector @var{Operations}, Introduction, Top
+@chapter Arrays
+@cindex arrays
+
+@menu
+* Constructors and Assignment::  
+@end menu
+
+@node Constructors and Assignment,  , Arrays, Arrays
+@section Constructors and Assignment
+
+@deftypefn Constructor {} Array<T>::Array (void)
+Create an array with no elements.
+@end deftypefn
+
+@deftypefn Constructor {} Array<T>::Array (int @var{n} [, const T &@var{val}])
+Create an array with @var{n} elements.  If the optional argument
+@var{val} is supplied, the elements are initialized to @var{val};
+otherwise, they are left uninitialized.  If @var{n} is less than zero,
+the current error handler is invoked (@pxref{Error Handling}).
+@end deftypefn
+
+@deftypefn Constructor {} Array<T>::Array (const Array<T> &@var{a})
+Create a copy of the @var{Array<T>} object @var{a}.  Memory for the
+@var{Array<T>} class is managed using a reference counting scheme, so
+the cost of this operation is independent of the size of the array.
+@end deftypefn
+
+@deftypefn Operator Array<T>& {Array<T>::operator =} (const Array<T> &@var{a})
+Assignment operator.  Memory for the @var{Array<T>} class is managed
+using a reference counting scheme, so the cost of this operation is
+independent of the size of the array.
+@end deftypefn
+
+@deftypefn Method int Array<T>::capacity (void) const
+@deftypefnx Method int Array<T>::length (void) const
+Return the length of the array.
+@end deftypefn
+
+@deftypefn Method T& Array<T>::elem (int @var{n})
+@deftypefnx Method T& Array<T>::checkelem (int @var{n})
+@deftypefnx Method T& {Array<T>::operator ()} (int @var{n})
+If @var{n} is within the bounds of the array, return a reference to the
+element indexed by @var{n}; otherwise, the current error handler is
+invoked (@pxref{Error Handling}).
+@end deftypefn
+
+@deftypefn Method T Array<T>::elem (int @var{n}) const
+@deftypefnx Method T Array<T>::checkelem (int @var{n}) const
+@deftypefnx Method T Array<T>::operator () (int @var{n}) const
+If @var{n} is within the bounds of the array, return the value indexed
+by @var{n}; otherwise, call the current error handler.
+@xref{Error Handling}.
+@end deftypefn
+
+@deftypefn Method T& Array<T>::xelem (int @var{n})
+@deftypefnx Method T Array<T>::xelem (int @var{n}) const
+Return a reference to, or the value of, the element indexed by @var{n}.
+These methods never perform bounds checking.
+@end deftypefn
+
+@deftypefn Method void Array<T>::resize (int @var{n} [, const T &@var{val}])
+Change the size of the array to be @var{n} elements.  All elements are
+unchanged, except that if @var{n} is greater than the current size and
+the optional argument @var{val} is provided, the additional elements are
+initialized to @var{val}; otherwise, any additional elements are left
+uninitialized.  In the current implementation, if @var{n} is less than
+the current size, the length is updated but no memory is released.
+@end deftypefn
+
+@deftypefn Method {const T*} Array<T>::data (void) const
+@end deftypefn
+
+@c Should this be public?
+@c
+@c T *fortran_vec (void)
+
+@deftypefn  {} {} Array2 (void)
+@deftypefnx  {} {} Array2 (int @var{n}, int @var{m})
+@deftypefnx  {} {} Array2 (int @var{n}, int @var{m}, const T &@var{val})
+@deftypefnx  {} {} Array2 (const Array2<T> &@var{a})
+@deftypefnx  {} {} Array2 (const DiagArray<T> &@var{a})
+@end deftypefn
+
+@deftypefn {} Array2<T>& {operator =} (const Array2<T> &@var{a})
+@end deftypefn
+
+@deftypefn {} int dim1 (void) const
+@deftypefnx {} int rows (void) const
+@end deftypefn
+
+@deftypefn {} int dim2 (void) const
+@deftypefnx {} int cols (void) const
+@deftypefnx {} int columns (void) const
+@end deftypefn
+
+@deftypefn {} T& elem (int @var{i}, int @var{j})
+@deftypefnx {} T& checkelem (int @var{i}, int @var{j})
+@deftypefnx {} T& {operator ()} (int @var{i}, int @var{j})
+@end deftypefn
+
+@c This needs to be fixed.
+@c
+@c T& xelem (int i, int j)
+@c
+@c T elem (int i, int j) const
+@c T checkelem (int i, int j) const
+@c T operator () (int i, int j) const
+
+@deftypefn {} void resize (int @var{n}, int @var{m})
+@deftypefnx {} void resize (int @var{n}, int @var{m}, const T &@var{val})
+@end deftypefn
+
+@deftypefn {} Array3 (void)
+@deftypefnx {} Array3 (int @var{n}, int @var{m}, int @var{k})
+@deftypefnx {} Array3 (int @var{n}, int @var{m}, int @var{k}, const T &@var{val})
+@deftypefnx {} Array3 (const Array3<T> &@var{a})
+@end deftypefn
+
+@deftypefn {} Array3<T>& {operator =} (const Array3<T> &@var{a})
+@end deftypefn
+
+@deftypefn {} int dim1 (void) const
+@deftypefnx {} int dim2 (void) const
+@deftypefnx {} int dim3 (void) const
+@end deftypefn
+
+@deftypefn {} T& elem (int @var{i}, int @var{j}, int @var{k})
+@deftypefnx {} T& checkelem (int @var{i}, int @var{j}, int @var{k})
+@deftypefnx {} T& {operator ()} (int @var{i}, int @var{j}, int @var{k})
+@end deftypefn
+
+@c This needs to be fixed.
+@c
+@c T& xelem (int i, int j, int k)
+@c
+@c T elem (int i, int j, int k) const
+@c T checkelem (int i, int j, int k) const
+@c T operator () (int i, int j, int k) const
+
+@deftypefn {} void resize (int @var{n}, int @var{m}, int @var{k})
+@deftypefnx {} void resize (int @var{n}, int @var{m}, int @var{k}, const T &@var{val})
+@end deftypefn
+
+@deftypefn  {} {}DiagArray (void)
+@deftypefnx  {} {}DiagArray (int @var{n})
+@deftypefnx  {} {}DiagArray (int @var{n}, const T &@var{val})
+@deftypefnx  {} {}DiagArray (int @var{r}, int @var{c})
+@deftypefnx  {} {}DiagArray (int @var{r}, int @var{c}, const T &@var{val})
+@deftypefnx  {} {}DiagArray (const Array<T> &@var{a})
+@deftypefnx  {} {}DiagArray (const DiagArray<T> &@var{a})
+@end deftypefn
+
+@deftypefn {} DiagArray<T>& {operator =} (const DiagArray<T> &@var{a})
+@end deftypefn
+
+@deftypefn {} int dim1 (void) const
+@deftypefnx {} int rows (void) const
+@end deftypefn
+
+@deftypefn {} int dim2 (void) const
+@deftypefnx {} int cols (void) const
+@deftypefnx {} int columns (void) const
+@end deftypefn
+
+@deftypefn {} T& elem (int @var{r}, int @var{c})
+@deftypefnx {} T& checkelem (int @var{r}, int @var{c})
+@deftypefnx {} T& {operator ()} (int @var{r}, int @var{c})
+@end deftypefn
+
+@c This needs to be fixed.
+@c
+@c T& xelem (int r, int c)
+@c
+@c T elem (int r, int c) const
+@c T checkelem (int r, int c) const
+@c T operator () (int r, int c) const
+
+@deftypefn {} void resize (int @var{n}, int @var{m})
+@deftypefnx {} void resize (int @var{n}, int @var{m}, const T &@var{val})
+@end deftypefn