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
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Static Private Member Functions | Friends | List of all members
Array< T > Singleton Reference

N Dimensional Array with copy-on-write semantics. More...

#include "Array.h"

Inheritance diagram for Array< T >:
Inheritance graph
[legend]
Collaboration diagram for Array< T >:
Collaboration graph
[legend]

Classes

class  ArrayRep
 The real representation of all arrays. More...
 

Public Types

typedef bool(* compare_fcn_type )(typename ref_param< T >::type, typename ref_param< T >::type)
 
typedef ref_param< T >::type crefT
 
typedef T element_type
 
typedef octave_idx_type size_type
 Used for operator(), and returned by numel() and size() (beware: signed integer) More...
 
typedef T value_type
 

Public Member Functions

 Array (void)
 Empty ctor (0 by 0). More...
 
 Array (const dim_vector &dv)
 nD uninitialized ctor. More...
 
 Array (const dim_vector &dv, const T &val)
 nD initialized ctor. More...
 
 Array (const Array< T > &a, const dim_vector &dv)
 Reshape constructor. More...
 
template<template< typename...> class Container>
 Array (const Container< T > &a, const dim_vector &dv)
 Constructor from standard library sequence containers. More...
 
template<typename U >
 Array (const Array< U > &a)
 Type conversion case. More...
 
 Array (const Array< T > &a)
 No type conversion case. More...
 
virtual ~Array (void)
 
Array< T > as_column (void) const
 Return the array as a column vector. More...
 
Array< T > as_matrix (void) const
 Return the array as a matrix. More...
 
Array< T > as_row (void) const
 Return the array as a row vector. More...
 
size_t byte_size (void) const
 
T & checkelem (octave_idx_type n)
 
T & checkelem (octave_idx_type i, octave_idx_type j)
 
T & checkelem (octave_idx_type i, octave_idx_type j, octave_idx_type k)
 
T & checkelem (const Array< octave_idx_type > &ra_idx)
 
crefT checkelem (octave_idx_type n) const
 
crefT checkelem (octave_idx_type i, octave_idx_type j) const
 
crefT checkelem (octave_idx_type i, octave_idx_type j, octave_idx_type k) const
 
crefT checkelem (const Array< octave_idx_type > &ra_idx) const
 
void clear (void)
 
void clear (const dim_vector &dv)
 
void clear (octave_idx_type r, octave_idx_type c)
 
Array< T > column (octave_idx_type k) const
 Extract column: A(:,k+1). More...
 
octave_idx_type compute_index (octave_idx_type i, octave_idx_type j) const
 
octave_idx_type compute_index (octave_idx_type i, octave_idx_type j, octave_idx_type k) const
 
octave_idx_type compute_index (const Array< octave_idx_type > &ra_idx) const
 
octave_idx_type compute_index_unchecked (const Array< octave_idx_type > &ra_idx) const
 
const T * data (void) const
 
Array< T > diag (octave_idx_type k=0) const
 Get the kth super or subdiagonal. More...
 
Array< T > diag (octave_idx_type m, octave_idx_type n) const
 
const dim_vectordims (void) const
 Return a const-reference so that dims ()(i) works efficiently. More...
 
T & elem (octave_idx_type n)
 
T & elem (octave_idx_type i, octave_idx_type j)
 
T & elem (octave_idx_type i, octave_idx_type j, octave_idx_type k)
 
T & elem (const Array< octave_idx_type > &ra_idx)
 
crefT elem (octave_idx_type n) const
 
crefT elem (octave_idx_type i, octave_idx_type j) const
 
crefT elem (octave_idx_type i, octave_idx_type j, octave_idx_type k) const
 
crefT elem (const Array< octave_idx_type > &ra_idx) const
 
void fill (const T &val)
 
template<>
Array< octave_idx_typefind (octave_idx_type, bool) const
 
Array< octave_idx_typefind (octave_idx_type n=-1, bool backward=false) const
 Find indices of (at most n) nonzero elements. More...
 
const T * fortran_vec (void) const
 
T * fortran_vec (void)
 
Array< T > hermitian (T(*fcn)(const T &)=0) const
 
Array< T > & insert (const Array< T > &a, const Array< octave_idx_type > &idx)
 Insert an array into another at a specified position. More...
 
Array< T > & insert (const Array< T > &a, octave_idx_type r, octave_idx_type c)
 This is just a special case for idx = [r c 0 ...]. More...
 
Array< T > ipermute (const Array< octave_idx_type > &vec) const
 
bool is_empty (void) const
 
bool is_shared (void)
 
template<>
sortmode is_sorted (sortmode) const
 
sortmode is_sorted (sortmode mode=UNSORTED) const
 Ordering is auto-detected or can be specified. More...
 
template<>
sortmode is_sorted_rows (sortmode) const
 
sortmode is_sorted_rows (sortmode mode=UNSORTED) const
 Ordering is auto-detected or can be specified. More...
 
bool is_square (void) const
 
bool is_vector (void) const
 
Array< T > linear_slice (octave_idx_type lo, octave_idx_type up) const
 Extract a slice from this array as a column vector: A(:)(lo+1:up). More...
 
template<>
octave_idx_type lookup (idx_vector const &, sortmode) const
 
template<>
Array< octave_idx_typelookup (const Array< idx_vector > &, sortmode) const
 
octave_idx_type lookup (const T &value, sortmode mode=UNSORTED) const
 Do a binary lookup in a sorted array. More...
 
Array< octave_idx_typelookup (const Array< T > &values, sortmode mode=UNSORTED) const
 Ditto, but for an array of values, specializing on the case when values are sorted. More...
 
void make_unique (void)
 
template<typename U , typename F >
Array< U > map (F fcn) const
 Apply function fcn to each element of the Array<T>. More...
 
void maybe_economize (void)
 
void * mex_get_data (void) const
 Give a pointer to the data in mex format. More...
 
int ndims (void) const
 
template<>
octave_idx_type nnz (void) const
 
octave_idx_type nnz (void) const
 Count nonzero elements. More...
 
template<>
Array< idx_vectornth_element (const idx_vector &, int) const
 
Array< T > nth_element (const idx_vector &n, int dim=0) const
 Returns the n-th element in increasing order, using the same ordering as used for sort. More...
 
T & operator() (octave_idx_type n)
 
T & operator() (octave_idx_type i, octave_idx_type j)
 
T & operator() (octave_idx_type i, octave_idx_type j, octave_idx_type k)
 
T & operator() (const Array< octave_idx_type > &ra_idx)
 
crefT operator() (octave_idx_type n) const
 
crefT operator() (octave_idx_type i, octave_idx_type j) const
 
crefT operator() (octave_idx_type i, octave_idx_type j, octave_idx_type k) const
 
crefT operator() (const Array< octave_idx_type > &ra_idx) const
 
Array< T > & operator= (const Array< T > &a)
 
bool optimize_dimensions (const dim_vector &dv)
 Returns true if this->dims () == dv, and if so, replaces this->dimensions by a shallow copy of dv. More...
 
Array< T > page (octave_idx_type k) const
 Extract page: A(:,:,k+1). More...
 
Array< T > permute (const Array< octave_idx_type > &vec, bool inv=false) const
 
void print_info (std::ostream &os, const std::string &prefix) const
 
Array< T > reshape (octave_idx_type nr, octave_idx_type nc) const
 
Array< T > reshape (const dim_vector &new_dims) const
 
virtual T resize_fill_value (void) const
 
size_type size (const size_type d) const
 Size of the specified dimension. More...
 
template<>
Array< idx_vectorsort (int, sortmode) const
 
template<>
Array< idx_vectorsort (Array< octave_idx_type > &sidx, int, sortmode) const
 
Array< T > sort (int dim=0, sortmode mode=ASCENDING) const
 
Array< T > sort (Array< octave_idx_type > &sidx, int dim=0, sortmode mode=ASCENDING) const
 
template<>
Array< octave_idx_typesort_rows_idx (sortmode) const
 
Array< octave_idx_typesort_rows_idx (sortmode mode=ASCENDING) const
 Sort by rows returns only indices. More...
 
Array< T > squeeze (void) const
 Chop off leading singleton dimensions. More...
 
template<typename F , bool zero>
bool test (F fcn) const
 Generic any/all test functionality with arbitrary predicate. More...
 
Array< T > transpose (void) const
 
T & xelem (octave_idx_type n)
 
crefT xelem (octave_idx_type n) const
 
T & xelem (octave_idx_type i, octave_idx_type j)
 
crefT xelem (octave_idx_type i, octave_idx_type j) const
 
T & xelem (octave_idx_type i, octave_idx_type j, octave_idx_type k)
 
crefT xelem (octave_idx_type i, octave_idx_type j, octave_idx_type k) const
 
T & xelem (const Array< octave_idx_type > &ra_idx)
 
crefT xelem (const Array< octave_idx_type > &ra_idx) const
 
octave_idx_type capacity (void) const
 Number of elements in the array. More...
 
octave_idx_type length (void) const
 Number of elements in the array. More...
 
octave_idx_type nelem (void) const
 Number of elements in the array. More...
 
octave_idx_type numel (void) const
 Number of elements in the array. More...
 
First dimension

Get the first dimension of the array (number of rows)

octave_idx_type dim1 (void) const
 
octave_idx_type rows (void) const
 
Second dimension

Get the second dimension of the array (number of columns)

octave_idx_type dim2 (void) const
 
octave_idx_type cols (void) const
 
octave_idx_type columns (void) const
 
Third dimension

Get the third dimension of the array (number of pages)

octave_idx_type dim3 (void) const
 
octave_idx_type pages (void) const
 
Array< T > index (const idx_vector &i) const
 Indexing without resizing. More...
 
Array< T > index (const idx_vector &i, const idx_vector &j) const
 
Array< T > index (const Array< idx_vector > &ia) const
 
void resize2 (octave_idx_type nr, octave_idx_type nc, const T &rfv)
 Resizing (with fill). More...
 
void resize2 (octave_idx_type nr, octave_idx_type nc)
 
void resize1 (octave_idx_type n, const T &rfv)
 
void resize1 (octave_idx_type n)
 
void resize (const dim_vector &dv, const T &rfv)
 
void resize (const dim_vector &dv)
 
Array< T > index (const idx_vector &i, bool resize_ok, const T &rfv) const
 Indexing with possible resizing and fill. More...
 
Array< T > index (const idx_vector &i, bool resize_ok) const
 
Array< T > index (const idx_vector &i, const idx_vector &j, bool resize_ok, const T &rfv) const
 
Array< T > index (const idx_vector &i, const idx_vector &j, bool resize_ok) const
 
Array< T > index (const Array< idx_vector > &ia, bool resize_ok, const T &rfv) const
 
Array< T > index (const Array< idx_vector > &ia, bool resize_ok) const
 
void assign (const idx_vector &i, const Array< T > &rhs, const T &rfv)
 Indexed assignment (always with resize & fill). More...
 
void assign (const idx_vector &i, const Array< T > &rhs)
 
void assign (const idx_vector &i, const idx_vector &j, const Array< T > &rhs, const T &rfv)
 
void assign (const idx_vector &i, const idx_vector &j, const Array< T > &rhs)
 
void assign (const Array< idx_vector > &ia, const Array< T > &rhs, const T &rfv)
 
void assign (const Array< idx_vector > &ia, const Array< T > &rhs)
 
void delete_elements (const idx_vector &i)
 Deleting elements. More...
 
void delete_elements (int dim, const idx_vector &i)
 A(:,...,I,...,:) = [] (>= 2 subscripts, one of them is non-colon) More...
 
void delete_elements (const Array< idx_vector > &ia)
 Dispatcher to the above two. More...
 
template<typename U >
Array< U > map (U(&fcn)(T)) const
 Overloads for function references. More...
 
template<typename U >
Array< U > map (U(&fcn)(const T &)) const
 
template<typename F >
bool test_any (F fcn) const
 Simpler calls. More...
 
template<typename F >
bool test_all (F fcn) const
 
bool test_any (bool(&fcn)(T)) const
 Overloads for function references. More...
 
bool test_any (bool(&fcn)(const T &)) const
 
bool test_all (bool(&fcn)(T)) const
 
bool test_all (bool(&fcn)(const T &)) const
 
intjit_ref_count (void)
 WARNING: Only call these functions from jit. More...
 
T * jit_slice_data (void) const
 
octave_idx_typejit_dimensions (void) const
 
void * jit_array_rep (void) const
 

Static Public Member Functions

static Array< T > cat (int dim, octave_idx_type n, const Array< T > *array_list)
 Concatenation along a specified (0-based) dimension, equivalent to cat(). More...
 

Protected Member Functions

 Array (const Array< T > &a, const dim_vector &dv, octave_idx_type l, octave_idx_type u)
 slice constructor More...
 
 Array (T *sdata, octave_idx_type slen, octave_idx_type *adims, void *arep)
 For jit support. More...
 

Protected Attributes

dim_vector dimensions
 
Array< T >::ArrayReprep
 
T * slice_data
 
octave_idx_type slice_len
 

Private Member Functions

template<>
void instantiation_guard ()
 
template<>
void instantiation_guard ()
 
template<>
void instantiation_guard ()
 
template<>
void instantiation_guard ()
 
template<>
void instantiation_guard ()
 
template<>
void instantiation_guard ()
 
template<>
void instantiation_guard ()
 
template<>
void instantiation_guard ()
 
template<>
void instantiation_guard ()
 
template<>
void instantiation_guard ()
 
template<>
void instantiation_guard ()
 

Static Private Member Functions

static void instantiation_guard ()
 
static Array< T >::ArrayRepnil_rep (void)
 

Friends

template<typename U >
class Array
 

Detailed Description

template<typename T>
singleton Array< T >

N Dimensional Array with copy-on-write semantics.

The Array class is at the root of Octave. It provides a container with an arbitrary number of dimensions. The operator () provides access to individual elements via subscript and linear indexing. Indexing starts at 0. Arrays are column-major order as in Fortran.

// 3 D Array with 10 rows, 20 columns, and 5 pages, filled with 7.0
Array<double> A Array<double (dim_vector (10, 20, 5), 7.0);
// set value for row 0, column 10, and page 3
A(0, 10, 3) = 2.5;
// get value for row 1, column 2, and page 0
double v = A(1, 2, 0);
// get value for 25th element (row 4, column 3, page 1)
double v = A(24);

Notes on STL compatibility

size() and length()

To access the total number of elements in an Array, use numel() which is short for number of elements and is equivalent to the Octave function with same name.

Array<int> A (dim_vector (10, 20, 4), 1);
octave_idx_type n = A.numel (); // returns 800 (10x20x4)
octave_idx_type nr = A.size (0); // returns 10 (number of rows/dimension 0)
octave_idx_type nc = A.size (1); // returns 20 (number of columns)
octave_idx_type nc = A.size (2); // returns 4 (size of dimension 3)
octave_idx_type l6 = A.size (6); // returns 1 (implicit singleton dimension)
// Alternatively, get a dim_vector which represents the dimensions.
dim_vector dims = A.dims ();

The methods size() and length() as they exist in the STL cause confusion in the context of a N dimensional array.

The size() of an array is the length of all dimensions. In Octave, the size() function returns a row vector with the length of each dimension, or the size of a specific dimension. Only the latter is present in liboctave.

Since there is more than 1 dimension, length() would not make sense without expliciting which dimension. If the function existed, which length should it return? Octave length() function returns the length of the longest dimension which is an odd definition, only useful for vectors and square matrices. The alternatives numel(), rows(), columns(), and size(d) are more explict and recommended.

size_type

Array::size_type is octave_idx_type which is a typedef for int or long int, depending whether Octave was configured for 64-bit indexing.

This is a signed integer which may cause problems when mixed with STL containers. The reason is that Octave interacts with Fortran routines, providing an interface many Fortran numeric libraries.

Subclasses

The following subclasses specializations, will be of most use:

Definition at line 126 of file Array.h.

Member Typedef Documentation

template<typename T>
typedef bool(* Array< T >::compare_fcn_type)(typename ref_param< T >::type, typename ref_param< T >::type)

Definition at line 209 of file Array.h.

template<typename T>
typedef ref_param<T>::type Array< T >::crefT

Definition at line 207 of file Array.h.

template<typename T>
typedef T Array< T >::element_type

Definition at line 199 of file Array.h.

template<typename T>
typedef octave_idx_type Array< T >::size_type

Used for operator(), and returned by numel() and size() (beware: signed integer)

Definition at line 205 of file Array.h.

template<typename T>
typedef T Array< T >::value_type

Definition at line 201 of file Array.h.

Constructor & Destructor Documentation

template<typename T>
Array< T >::Array ( const Array< T > &  a,
const dim_vector dv,
octave_idx_type  l,
octave_idx_type  u 
)
inlineprotected

slice constructor

Definition at line 229 of file Array.h.

template<typename T>
Array< T >::Array ( T *  sdata,
octave_idx_type  slen,
octave_idx_type adims,
void *  arep 
)
inlineprotected

For jit support.

Definition at line 244 of file Array.h.

template<typename T>
Array< T >::Array ( void  )
inline

Empty ctor (0 by 0).

Definition at line 252 of file Array.h.

template<typename T>
Array< T >::Array ( const dim_vector dv)
inlineexplicit

nD uninitialized ctor.

Definition at line 260 of file Array.h.

template<typename T>
Array< T >::Array ( const dim_vector dv,
const T &  val 
)
inlineexplicit

nD initialized ctor.

Definition at line 269 of file Array.h.

template<typename T>
Array< T >::Array ( const Array< T > &  a,
const dim_vector dv 
)
template<typename T>
template<template< typename...> class Container>
Array< T >::Array ( const Container< T > &  a,
const dim_vector dv 
)

Constructor from standard library sequence containers.

Definition at line 862 of file Array.h.

References dim_vector::chop_trailing_singletons(), dim_vector::safe_numel(), dim_vector::str(), string, and x.

template<typename T>
template<typename U >
Array< T >::Array ( const Array< U > &  a)
inline

Type conversion case.

Definition at line 287 of file Array.h.

template<typename T>
Array< T >::Array ( const Array< T > &  a)
inline

No type conversion case.

Definition at line 294 of file Array.h.

template<typename T>
virtual Array< T >::~Array ( void  )
inlinevirtual

Definition at line 303 of file Array.h.

Member Function Documentation

template<typename T>
Array<T> Array< T >::as_column ( void  ) const
inline

Return the array as a column vector.

Definition at line 367 of file Array.h.

Referenced by patch::properties::update_fvc().

template<typename T>
Array<T> Array< T >::as_matrix ( void  ) const
inline

Return the array as a matrix.

Definition at line 387 of file Array.h.

Referenced by Sparse< T >::index().

template<typename T>
Array<T> Array< T >::as_row ( void  ) const
inline

Return the array as a row vector.

Definition at line 377 of file Array.h.

template<typename T>
void Array< T >::assign ( const idx_vector i,
const Array< T > &  rhs,
const T &  rfv 
)
template<typename T>
void Array< T >::assign ( const idx_vector i,
const Array< T > &  rhs 
)
inline

Definition at line 649 of file Array.h.

template<typename T>
void Array< T >::assign ( const idx_vector i,
const idx_vector j,
const Array< T > &  rhs,
const T &  rfv 
)
template<typename T>
void Array< T >::assign ( const idx_vector i,
const idx_vector j,
const Array< T > &  rhs 
)
inline

Definition at line 656 of file Array.h.

template<typename T>
void Array< T >::assign ( const Array< idx_vector > &  ia,
const Array< T > &  rhs,
const T &  rfv 
)
template<typename T>
void Array< T >::assign ( const Array< idx_vector > &  ia,
const Array< T > &  rhs 
)
inline

Definition at line 662 of file Array.h.

template<typename T>
size_t Array< T >::byte_size ( void  ) const
inline
template<typename T>
octave_idx_type Array< T >::capacity ( void  ) const
inline

Number of elements in the array.

Synonymous with numel().

Note
This method is deprecated in favour of numel().

Definition at line 341 of file Array.h.

template<typename T>
Array< T > Array< T >::cat ( int  dim,
octave_idx_type  n,
const Array< T > *  array_list 
)
static

Concatenation along a specified (0-based) dimension, equivalent to cat().

dim = -1 corresponds to dim = 0 and dim = -2 corresponds to dim = 1, but apply the looser matching rules of vertcat/horzcat.

Definition at line 2630 of file Array.cc.

References idx_vector::colon, dim_vector::concat(), Array< T >::dims(), dv, dim_vector::hvcat(), max(), dim_vector::ndims(), retval, u, and dim_vector::zero_by_zero().

Referenced by single_type_concat().

template<typename T >
T & Array< T >::checkelem ( octave_idx_type  n)
template<typename T >
T & Array< T >::checkelem ( octave_idx_type  i,
octave_idx_type  j 
)

Definition at line 213 of file Array.cc.

References compute_index(), and elem.

template<typename T >
T & Array< T >::checkelem ( octave_idx_type  i,
octave_idx_type  j,
octave_idx_type  k 
)

Definition at line 220 of file Array.cc.

References compute_index(), and elem.

template<typename T >
T & Array< T >::checkelem ( const Array< octave_idx_type > &  ra_idx)

Definition at line 227 of file Array.cc.

References compute_index(), and elem.

template<typename T >
Array< T >::crefT Array< T >::checkelem ( octave_idx_type  n) const

Definition at line 234 of file Array.cc.

References elem, octave::err_index_out_of_range(), and octave::err_invalid_index().

template<typename T >
Array< T >::crefT Array< T >::checkelem ( octave_idx_type  i,
octave_idx_type  j 
) const

Definition at line 247 of file Array.cc.

References compute_index(), and elem.

template<typename T >
Array< T >::crefT Array< T >::checkelem ( octave_idx_type  i,
octave_idx_type  j,
octave_idx_type  k 
) const

Definition at line 254 of file Array.cc.

References compute_index(), and elem.

template<typename T >
Array< T >::crefT Array< T >::checkelem ( const Array< octave_idx_type > &  ra_idx) const

Definition at line 262 of file Array.cc.

References compute_index(), and elem.

template<typename T >
void Array< T >::clear ( void  )
template<typename T >
void Array< T >::clear ( const dim_vector dv)
template<typename T>
void Array< T >::clear ( octave_idx_type  r,
octave_idx_type  c 
)
inline

Definition at line 332 of file Array.h.

template<typename T>
octave_idx_type Array< T >::cols ( void  ) const
inline

Definition at line 409 of file Array.h.

Referenced by aepbalance< T >::aepbalance(), octave::math::airy(), Matrix::append(), FloatMatrix::append(), ComplexMatrix::append(), FloatComplexMatrix::append(), octave::math::biry(), SparseMatrix::bsolve(), SparseComplexMatrix::bsolve(), octave::math::sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::C(), chol2inv_internal(), cntr(), ComplexMatrix::ComplexMatrix(), dmsolve_insert(), dmsolve_permute(), octave::math::do_bessel(), drawcn(), SparseComplexMatrix::dsolve(), SparseMatrix::dsolve(), elem_xpow(), FloatComplexMatrix::FloatComplexMatrix(), FloatMatrix::FloatMatrix(), Matrix::fsolve(), FloatMatrix::fsolve(), ComplexMatrix::fsolve(), FloatComplexMatrix::fsolve(), SparseMatrix::fsolve(), SparseComplexMatrix::fsolve(), octave::math::gammainc(), EIG::hermitian_init(), FloatEIG::hermitian_init(), Sparse< T >::index(), hess< T >::init(), gepbalance< T >::init(), qrp< T >::init(), schur< T >::init(), EIG::init(), FloatEIG::init(), chol< T >::init(), qr< T >::init(), ComplexMatrix::insert(), FloatComplexMatrix::insert(), kron(), Matrix::lssolve(), FloatMatrix::lssolve(), ComplexMatrix::lssolve(), FloatComplexMatrix::lssolve(), Matrix::ltsolve(), FloatMatrix::ltsolve(), SparseMatrix::ltsolve(), SparseComplexMatrix::ltsolve(), ComplexMatrix::ltsolve(), FloatComplexMatrix::ltsolve(), lu< T >::lu(), LuAminusSigmaB(), make_cholb(), mark_facets(), Matrix::Matrix(), matrix_real_probe(), null(), operator*(), ComplexMatrix::operator+=(), FloatComplexMatrix::operator+=(), ComplexMatrix::operator-=(), FloatComplexMatrix::operator-=(), operator<<(), boolMatrix::operator==(), charMatrix::operator==(), FloatMatrix::operator==(), Matrix::operator==(), ComplexMatrix::operator==(), FloatComplexMatrix::operator==(), operator>>(), octave_char_matrix_str::save_ascii(), octave_cell::save_ascii(), save_mat_ascii_data(), save_mat_binary_data(), log_scaler::scale(), neg_log_scaler::scale(), Matrix::stack(), FloatMatrix::stack(), ComplexMatrix::stack(), FloatComplexMatrix::stack(), stack_complex_matrix(), EIG::symmetric_init(), FloatEIG::symmetric_init(), octave::math::sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::tall_solve(), SparseMatrix::trisolve(), SparseComplexMatrix::trisolve(), octave_bool_matrix::try_narrowing_conversion(), unstack_complex_matrix(), lu< T >::update(), qr< T >::update(), lu< T >::update_piv(), Matrix::utsolve(), FloatMatrix::utsolve(), SparseMatrix::utsolve(), SparseComplexMatrix::utsolve(), ComplexMatrix::utsolve(), FloatComplexMatrix::utsolve(), vector_product(), octave::math::sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::wide_solve(), xgemm(), and xpow().

template<typename T >
Array< T > Array< T >::column ( octave_idx_type  k) const

Extract column: A(:,k+1).

Definition at line 269 of file Array.cc.

References octave::err_index_out_of_range().

Referenced by qp().

template<typename T>
octave_idx_type Array< T >::columns ( void  ) const
inline
template<typename T >
octave_idx_type Array< T >::compute_index ( octave_idx_type  i,
octave_idx_type  j 
) const

Definition at line 178 of file Array.cc.

References compute_index().

template<typename T >
octave_idx_type Array< T >::compute_index ( octave_idx_type  i,
octave_idx_type  j,
octave_idx_type  k 
) const

Definition at line 185 of file Array.cc.

References compute_index().

template<typename T >
octave_idx_type Array< T >::compute_index ( const Array< octave_idx_type > &  ra_idx) const

Definition at line 193 of file Array.cc.

References compute_index().

template<typename T>
octave_idx_type Array< T >::compute_index_unchecked ( const Array< octave_idx_type > &  ra_idx) const
inline

Definition at line 449 of file Array.h.

template<typename T>
const T* Array< T >::data ( void  ) const
inline

Definition at line 582 of file Array.h.

Referenced by mxArray_octave_value::array_to_string(), octave_struct::as_mxArray(), octave_char_matrix::as_mxArray(), octave_float_complex_matrix::as_mxArray(), octave_complex_matrix::as_mxArray(), octave_float_matrix::as_mxArray(), octave_bool_matrix::as_mxArray(), octave_matrix::as_mxArray(), octave_scalar_struct::as_mxArray(), octave_range::as_mxArray(), Array< T >::assign(), binmap(), Cell::Cell(), compute_index(), Array< octave_value >::compute_index_unchecked(), convert_cdata(), DiagArray2< Complex >::data(), do_mm_binary_op(), do_mm_inplace_op(), do_ms_binary_op(), do_mx_check(), do_mx_cumminmax_op(), do_mx_diff_op(), do_mx_minmax_op(), do_mx_unary_op(), do_sm_binary_op(), octave::opengl_selector::draw_image(), octave::opengl_renderer::draw_marker(), octave::opengl_renderer::draw_patch(), octave::opengl_renderer::draw_surface(), octave::opengl_renderer::draw_text(), F__pchip_deriv__(), octave::opengl_selector::fake_text(), Fellipj(), filter(), get_array_limits(), mxArray_octave_value::get_string(), file_editor::handle_edit_mfile_request(), MArray< T >::idx_add(), MArray< T >::idx_add_nd(), idx_vector::idx_mask_rep::idx_mask_rep(), MArray< T >::idx_max(), MArray< T >::idx_min(), octave_char_matrix::index_vector(), qr< T >::insert_col(), Array< float >::is_sorted(), Array< double >::is_sorted(), kron(), Array< T >::lookup(), octinternal_do_mul_pm_sm(), octinternal_do_mul_sm_pm(), operator*(), ComplexRowVector::operator+=(), ComplexColumnVector::operator+=(), FloatComplexRowVector::operator+=(), FloatComplexColumnVector::operator+=(), ComplexMatrix::operator+=(), FloatComplexMatrix::operator+=(), ComplexRowVector::operator-=(), ComplexColumnVector::operator-=(), FloatComplexRowVector::operator-=(), FloatComplexColumnVector::operator-=(), ComplexMatrix::operator-=(), FloatComplexMatrix::operator-=(), boolMatrix::operator==(), RowVector::operator==(), ColumnVector::operator==(), FloatRowVector::operator==(), FloatColumnVector::operator==(), ComplexRowVector::operator==(), ComplexColumnVector::operator==(), FloatComplexRowVector::operator==(), FloatComplexColumnVector::operator==(), charMatrix::operator==(), Matrix::operator==(), FloatMatrix::operator==(), ComplexMatrix::operator==(), FloatComplexMatrix::operator==(), qs_preprocess(), qs_search(), octave::opengl_renderer::render_text(), octave_float_complex_diag_matrix::save_binary(), octave_complex_diag_matrix::save_binary(), octave_float_diag_matrix::save_binary(), octave_diag_matrix::save_binary(), octave_float_complex_matrix::save_binary(), octave_complex_matrix::save_binary(), octave_float_matrix::save_binary(), octave_perm_matrix::save_binary(), octave_matrix::save_binary(), save_mat5_binary_element(), save_mat_binary_data(), log_scaler::scale(), neg_log_scaler::scale(), octave::opengl_renderer::set_clipbox(), octave::opengl_renderer::set_color(), octave::opengl_renderer::setup_opengl_transformation(), Sparse< T >::Sparse(), stack_complex_matrix(), octave::math::sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::tall_solve(), unstack_complex_matrix(), lu< T >::update_piv(), vector_product(), octave::opengl_renderer::patch_tesselator::vertex(), octave::math::sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::wide_solve(), octave_stream::write(), write_mat5_array(), and xgemm().

template<typename T >
void Array< T >::delete_elements ( const idx_vector i)
template<typename T >
void Array< T >::delete_elements ( int  dim,
const idx_vector i 
)
template<typename T >
void Array< T >::delete_elements ( const Array< idx_vector > &  ia)

Dispatcher to the above two.

Definition at line 1503 of file Array.cc.

References dv, k, jit_convention::length, and Array< T >::numel().

template<typename T >
Array< T > Array< T >::diag ( octave_idx_type  k = 0) const
template<typename T >
Array< T > Array< T >::diag ( octave_idx_type  m,
octave_idx_type  n 
) const

Definition at line 2615 of file Array.cc.

References numel(), and retval.

template<typename T>
octave_idx_type Array< T >::dim1 ( void  ) const
inline

Definition at line 400 of file Array.h.

Referenced by Array< T >::assign(), PermMatrix::numel(), and PermMatrix::rows().

template<typename T>
octave_idx_type Array< T >::dim2 ( void  ) const
inline
template<typename T>
octave_idx_type Array< T >::dim3 ( void  ) const
inline
template<typename T>
const dim_vector& Array< T >::dims ( void  ) const
inline

Return a const-reference so that dims ()(i) works efficiently.

Definition at line 439 of file Array.h.

Referenced by jit_operation::add_overload(), octave::math::airy(), octave_map::assign(), Array< T >::assign(), octave::math::betainc(), octave::math::betaincinv(), binmap(), octave::math::biry(), bitopxx(), axes::properties::calc_ticklabels(), Array< T >::cat(), octave_value::complex_vector_value(), charNDArray::concat(), conv_to_int_array(), convolve(), octave_map::delete_elements(), octave::math::do_bessel(), do_bsxfun_op(), do_inplace_bsxfun_op(), do_mm_binary_op(), do_mm_inplace_op(), do_ms_binary_op(), do_mx_cumminmax_op(), do_mx_diff_op(), do_mx_minmax_op(), do_mx_unary_op(), do_numeric_lookup(), do_rand(), do_rc_map(), do_sm_binary_op(), do_tril(), do_triu(), octave::opengl_renderer::draw_surface(), elem_xpow(), Fellipj(), Ffilter(), filter(), find_nonzero_elem_idx(), Fisfield(), octave_value::float_complex_vector_value(), octave_value::float_vector_value(), octave::math::gammainc(), MArray< T >::idx_add_nd(), idx_vector::idx_mask_rep::idx_mask_rep(), idx_vector::idx_vector_rep::idx_vector_rep(), if(), octave_map::index(), gepbalance< T >::init(), ComplexNDArray::insert(), FloatComplexNDArray::insert(), Array< T >::insert(), octave_value::int_vector_value(), is_handle(), is_handle_visible(), Array< T >::lookup(), octave_float_matrix::map(), octave_matrix::map(), cdef_object::map_value(), NDArray::NDArray(), oct_catop_matrix_struct(), oct_catop_struct_matrix(), octave_value::octave_idx_type_vector_value(), octave_print_internal(), octcellregexp(), jit_operation::overload(), pattern(), octave_map::permute(), octave_cell::print_raw(), log_scaler::scale(), neg_log_scaler::scale(), graphics_xform::scale(), octave_map::setfield(), sizes_cmp(), try_cellfun_internal_ops(), patch::properties::update_data(), patch::properties::update_fvc(), octave_value::vector_value(), and x_el_div().

template<typename T>
T& Array< T >::elem ( octave_idx_type  n)
inline

Definition at line 482 of file Array.h.

Referenced by file_editor_tab::add_octave_apis(), atan2(), aepbalance< T >::balancing_matrix(), octave_float_complex_matrix::char_array_value(), octave_complex_matrix::char_array_value(), octave_float_matrix::char_array_value(), octave_matrix::char_array_value(), octave_range::char_array_value(), Matrix::column_max(), FloatMatrix::column_max(), ComplexMatrix::column_max(), FloatComplexMatrix::column_max(), Matrix::column_min(), FloatMatrix::column_min(), ComplexMatrix::column_min(), FloatComplexMatrix::column_min(), ComplexMatrix::ComplexMatrix(), charNDArray::concat(), FloatNDArray::concat(), NDArray::concat(), ddaspk_f(), ddaspk_j(), ddasrt_j(), ddassl_f(), ddassl_j(), delete_graphics_objects(), DiagArray2< Complex >::dgelem(), dmsolve_extract(), LSODE::do_integrate(), DiagArray2< Complex >::elem(), DiagArray2< T >::elem(), Array< octave_value >::elem(), charMatrix::extract(), DiagMatrix::extract(), FloatDiagMatrix::extract(), ComplexRowVector::extract(), ComplexColumnVector::extract(), FloatComplexRowVector::extract(), FloatComplexColumnVector::extract(), ComplexDiagMatrix::extract(), FloatComplexDiagMatrix::extract(), ComplexRowVector::extract_n(), ComplexColumnVector::extract_n(), FloatComplexRowVector::extract_n(), FloatComplexColumnVector::extract_n(), Ffunctions(), FloatDiagMatrix::fill(), DiagMatrix::fill(), ComplexDiagMatrix::fill(), FloatComplexDiagMatrix::fill(), FloatComplexMatrix::FloatComplexMatrix(), FloatMatrix::FloatMatrix(), qr< T >::form(), SparseComplexMatrix::fsolve(), text::properties::get_fontsize_points(), octave_rand::get_internal_state(), Givens(), Gsymrcm(), hex2num(), FloatEIG::init(), EIG::init(), RowVector::insert(), ColumnVector::insert(), FloatRowVector::insert(), FloatColumnVector::insert(), ComplexRowVector::insert(), ComplexColumnVector::insert(), FloatComplexColumnVector::insert(), FloatComplexRowVector::insert(), ComplexNDArray::insert(), Matrix::insert(), FloatComplexNDArray::insert(), FloatMatrix::insert(), ComplexMatrix::insert(), FloatComplexMatrix::insert(), octave_value::int_vector_value(), DASPK::integrate(), DASSL::integrate(), DASRT::integrate(), octave_cell::load_ascii(), octave_bool_matrix::load_ascii(), octave_cell::load_binary(), octave_cell::load_hdf5(), octave_bool_matrix::load_hdf5(), lsode_f(), Matrix::lssolve(), FloatMatrix::lssolve(), ComplexMatrix::lssolve(), FloatComplexMatrix::lssolve(), Matrix::Matrix(), matrix_real_probe(), SparseBoolMatrix::matrix_value(), SparseMatrix::max(), SparseComplexMatrix::max(), SparseMatrix::min(), SparseComplexMatrix::min(), octave_value::octave_idx_type_vector_value(), intNDArray< T >::operator!(), boolMatrix::operator!(), PermMatrix::operator()(), operator*(), operator<<(), operator>>(), string_vector::operator[](), parse_dbfunction_params(), Array< T >::permute(), plus_or_minus(), Matrix::pseudo_inverse(), FloatMatrix::pseudo_inverse(), ComplexMatrix::pseudo_inverse(), FloatComplexMatrix::pseudo_inverse(), Matrix::row_max(), FloatMatrix::row_max(), ComplexMatrix::row_max(), FloatComplexMatrix::row_max(), Matrix::row_min(), FloatMatrix::row_min(), ComplexMatrix::row_min(), FloatComplexMatrix::row_min(), octave_cell::save_ascii(), octave_cell::save_binary(), octave_cell::save_hdf5(), graphics_object::set(), octave_rand::set_internal_state(), Sparse< T >::Sparse(), try_cellfun_internal_ops(), text::properties::update_fontunits(), and x_el_div().

template<typename T>
T& Array< T >::elem ( octave_idx_type  i,
octave_idx_type  j 
)
inline

Definition at line 488 of file Array.h.

Referenced by Array< octave_value >::elem().

template<typename T>
T& Array< T >::elem ( octave_idx_type  i,
octave_idx_type  j,
octave_idx_type  k 
)
inline

Definition at line 490 of file Array.h.

template<typename T>
T& Array< T >::elem ( const Array< octave_idx_type > &  ra_idx)
inline

Definition at line 493 of file Array.h.

template<typename T>
crefT Array< T >::elem ( octave_idx_type  n) const
inline

Definition at line 519 of file Array.h.

template<typename T>
crefT Array< T >::elem ( octave_idx_type  i,
octave_idx_type  j 
) const
inline

Definition at line 521 of file Array.h.

template<typename T>
crefT Array< T >::elem ( octave_idx_type  i,
octave_idx_type  j,
octave_idx_type  k 
) const
inline

Definition at line 524 of file Array.h.

template<typename T>
crefT Array< T >::elem ( const Array< octave_idx_type > &  ra_idx) const
inline

Definition at line 527 of file Array.h.

template<typename T>
void Array< T >::fill ( const T &  val)

Definition at line 81 of file Array.cc.

References numel().

Referenced by quotient(), and idx_vector::idx_scalar_rep::sort_idx().

template<>
Array< octave_idx_type > Array< idx_vector >::find ( octave_idx_type  ,
bool   
) const

Definition at line 39 of file Array-idx-vec.cc.

template<typename T >
Array< octave_idx_type > Array< T >::find ( octave_idx_type  n = -1,
bool  backward = false 
) const

Find indices of (at most n) nonzero elements.

If n is specified, backward specifies search from backward.

Definition at line 2246 of file Array.cc.

References Array< T >::clear(), Array< T >::dimensions, dims, Array< T >::fortran_vec(), Array< T >::is_empty(), k, numel(), Array< T >::numel(), Array< T >::resize2(), retval, and zero.

Referenced by idx_vector::idx_mask_rep::as_array(), and find_nonzero_elem_idx().

template<typename T>
const T* Array< T >::fortran_vec ( void  ) const
inline

Definition at line 584 of file Array.h.

Referenced by SparseBoolMatrix::any(), idx_vector::idx_vector_rep::as_array(), mxArray_number::as_octave_value(), mxArray_struct::as_octave_value(), mxArray_cell::as_octave_value(), Sparse< T >::assign(), aepbalance< T >::balancing_matrix(), octave::math::betainc(), octave::math::betaincinv(), OCTAVE_VALUE_INT_MATRIX_T::bool_array_value(), box(), box_more(), SparseMatrix::bsolve(), SparseComplexMatrix::bsolve(), octave::math::sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::C(), cam2xform(), OCTAVE_VALUE_INT_MATRIX_T::char_array_value(), chol2inv_internal(), idx_vector::complement(), OCTAVE_VALUE_INT_MATRIX_T::complex_matrix_value(), convert_cdata(), convolve(), Array< T >::delete_elements(), SparseMatrix::determinant(), SparseComplexMatrix::determinant(), Matrix::determinant(), FloatMatrix::determinant(), ComplexMatrix::determinant(), FloatComplexMatrix::determinant(), dmsolve_insert(), dmsolve_permute(), do_bsxfun_op(), octave_rand::do_float_nd_array(), octave_rand::do_float_vector(), do_inplace_bsxfun_op(), LSODE::do_integrate(), DASPK::do_integrate(), DASSL::do_integrate(), DefQuad::do_integrate(), IndefQuad::do_integrate(), FloatDefQuad::do_integrate(), FloatIndefQuad::do_integrate(), do_mm_binary_op(), do_mm_inplace_op(), do_ms_binary_op(), do_ms_inplace_op(), do_mx_cumminmax_op(), do_mx_diff_op(), do_mx_inplace_op(), do_mx_minmax_op(), octave_rand::do_nd_array(), do_rand(), octave_base_stream::do_scanf(), do_scanf_conv(), do_sm_binary_op(), do_tril(), do_triu(), octave_rand::do_vector(), chol< T >::downdate(), octave::opengl_renderer::draw_patch(), EigsComplexNonSymmetricFunc(), EigsComplexNonSymmetricMatrix(), EigsComplexNonSymmetricMatrixShift(), EigsRealNonSymmetricFunc(), EigsRealNonSymmetricMatrix(), EigsRealNonSymmetricMatrixShift(), EigsRealSymmetricFunc(), EigsRealSymmetricMatrix(), EigsRealSymmetricMatrixShift(), octave_fields::equal_up_to_order(), F__dsearchn__(), F__icholt__(), F__pchip_deriv__(), SparseMatrix::factorize(), SparseComplexMatrix::factorize(), Fellipj(), filter(), Array< T >::find(), find_starting_node(), Matrix::finverse(), FloatMatrix::finverse(), ComplexMatrix::finverse(), FloatComplexMatrix::finverse(), OCTAVE_VALUE_INT_MATRIX_T::float_complex_matrix_value(), OCTAVE_VALUE_INT_MATRIX_T::float_matrix_value(), DiagArray2< Complex >::fortran_vec(), ComplexNDArray::fourier(), FloatComplexNDArray::fourier(), FloatNDArray::fourier(), NDArray::fourier(), Matrix::fourier(), FloatMatrix::fourier(), ComplexMatrix::fourier(), FloatComplexMatrix::fourier(), ComplexNDArray::fourier2d(), FloatComplexNDArray::fourier2d(), FloatNDArray::fourier2d(), NDArray::fourier2d(), Matrix::fourier2d(), FloatMatrix::fourier2d(), ComplexMatrix::fourier2d(), FloatComplexMatrix::fourier2d(), ComplexNDArray::fourierNd(), FloatComplexNDArray::fourierNd(), FloatNDArray::fourierNd(), NDArray::fourierNd(), Matrix::fsolve(), FloatMatrix::fsolve(), ComplexMatrix::fsolve(), FloatComplexMatrix::fsolve(), SparseMatrix::fsolve(), SparseComplexMatrix::fsolve(), G__delaunayn__(), G__glpk__(), G__osmesa_print__(), G__voronoi__(), Gamd(), Gaudioread(), Gconvhulln(), Gsymrcm(), EIG::hermitian_init(), FloatEIG::hermitian_init(), ichol_t(), MArray< T >::idx_add_nd(), ComplexNDArray::ifourier(), FloatComplexNDArray::ifourier(), FloatNDArray::ifourier(), NDArray::ifourier(), Matrix::ifourier(), FloatMatrix::ifourier(), ComplexMatrix::ifourier(), FloatComplexMatrix::ifourier(), ComplexNDArray::ifourier2d(), FloatComplexNDArray::ifourier2d(), FloatNDArray::ifourier2d(), NDArray::ifourier2d(), Matrix::ifourier2d(), FloatMatrix::ifourier2d(), ComplexMatrix::ifourier2d(), FloatComplexMatrix::ifourier2d(), ComplexNDArray::ifourierNd(), FloatComplexNDArray::ifourierNd(), FloatNDArray::ifourierNd(), NDArray::ifourierNd(), Range::index(), Array< T >::index(), hess< T >::init(), qrp< T >::init(), schur< T >::init(), EIG::init(), FloatEIG::init(), CollocWt::init(), chol< T >::init(), qr< T >::init(), qr< T >::insert_col(), qr< T >::insert_row(), DASRT::integrate(), kron(), octave_char_matrix_str::load_ascii(), octave_float_complex_matrix::load_binary(), octave_char_matrix_str::load_binary(), octave_complex_matrix::load_binary(), octave_float_matrix::load_binary(), octave_perm_matrix::load_binary(), octave_bool_matrix::load_binary(), octave_matrix::load_binary(), octave_float_complex_matrix::load_hdf5(), octave_char_matrix_str::load_hdf5(), octave_complex_matrix::load_hdf5(), octave_float_matrix::load_hdf5(), octave_matrix::load_hdf5(), Matrix::lssolve(), FloatMatrix::lssolve(), ComplexMatrix::lssolve(), FloatComplexMatrix::lssolve(), ltsolve(), Matrix::ltsolve(), FloatMatrix::ltsolve(), ComplexMatrix::ltsolve(), FloatComplexMatrix::ltsolve(), LuAminusSigmaB(), Cell::map(), Array< octave_value >::map(), OCTAVE_VALUE_INT_MATRIX_T::matrix_value(), NDArray::NDArray(), Array< T >::nth_element(), octave_base64_decode(), octave_jit_paren_subsasgn_impl(), operator*(), Array< T >::permute(), PermMatrix::pos_power(), octave::math::sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::Q(), Matrix::rcond(), FloatMatrix::rcond(), ComplexMatrix::rcond(), FloatComplexMatrix::rcond(), read_indexed_images(), read_mat5_binary_element(), read_mat_binary_data(), Array< T >::resize(), Array< T >::resize1(), Array< T >::resize2(), octave::math::rsf2csf< ComplexMatrix, Matrix >(), octave::math::rsf2csf< FloatComplexMatrix, FloatMatrix >(), octave_char_matrix_str::save_ascii(), octave_char_matrix_str::save_binary(), octave_bool_matrix::save_binary(), octave_float_complex_matrix::save_hdf5(), octave_complex_matrix::save_hdf5(), octave_float_matrix::save_hdf5(), octave_bool_matrix::save_hdf5(), octave_matrix::save_hdf5(), save_mat5_binary_element(), save_mat5_element_length(), Array< T >::sort(), idx_vector::idx_vector_rep::sort_idx(), Range::sort_internal(), Array< T >::sort_rows_idx(), octave::math::sparse_lu< lu_type >::sparse_lu(), sqrtm_utri_inplace(), stack_complex_matrix(), sub2ind(), SparseBoolMatrix::sum(), Sylvester(), EIG::symmetric_init(), FloatEIG::symmetric_init(), octave::math::sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::tall_solve(), Matrix::tinverse(), FloatMatrix::tinverse(), ComplexMatrix::tinverse(), FloatComplexMatrix::tinverse(), QtHandles::Utils::toRgb(), Array< T >::transpose(), SparseMatrix::trisolve(), SparseComplexMatrix::trisolve(), unbox(), unit_cube(), unstack_complex_matrix(), lu< T >::update(), qr< T >::update(), chol< T >::update(), lu< T >::update_piv(), utsolve(), Matrix::utsolve(), FloatMatrix::utsolve(), ComplexMatrix::utsolve(), FloatComplexMatrix::utsolve(), viridis_colormap(), octave::math::sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::wide_solve(), and xgemm().

template<typename T >
T * Array< T >::fortran_vec ( void  )

Definition at line 1758 of file Array.cc.

template<typename T>
Array< T > Array< T >::hermitian ( T(*)(const T &)  fcn = 0) const

Definition at line 1659 of file Array.cc.

References fcn, k, result, and Array< T >::xelem().

Referenced by MArray< Complex >::hermitian().

template<typename T >
Array< T > Array< T >::index ( const idx_vector i) const
template<typename T >
Array< T > Array< T >::index ( const idx_vector i,
const idx_vector j 
) const
template<typename T >
Array< T > Array< T >::index ( const Array< idx_vector > &  ia) const
template<typename T>
Array< T > Array< T >::index ( const idx_vector i,
bool  resize_ok,
const T &  rfv 
) const

Indexing with possible resizing and fill.

Definition at line 1050 of file Array.cc.

References idx_vector::extent(), Array< T >::index(), idx_vector::is_scalar(), numel(), Array< T >::numel(), Array< T >::resize1(), and tmp.

template<typename T>
Array<T> Array< T >::index ( const idx_vector i,
bool  resize_ok 
) const
inline

Definition at line 625 of file Array.h.

template<typename T>
Array< T > Array< T >::index ( const idx_vector i,
const idx_vector j,
bool  resize_ok,
const T &  rfv 
) const
template<typename T>
Array<T> Array< T >::index ( const idx_vector i,
const idx_vector j,
bool  resize_ok 
) const
inline

Definition at line 632 of file Array.h.

template<typename T>
Array< T > Array< T >::index ( const Array< idx_vector > &  ia,
bool  resize_ok,
const T &  rfv 
) const
template<typename T>
Array<T> Array< T >::index ( const Array< idx_vector > &  ia,
bool  resize_ok 
) const
inline

Definition at line 640 of file Array.h.

template<typename T>
Array< T > & Array< T >::insert ( const Array< T > &  a,
const Array< octave_idx_type > &  idx 
)

Insert an array into another at a specified position.

If size (a) is [d1 d2 ... dN] and idx is [i1 i2 ... iN], this method is equivalent to x(i1:i1+d1-1, i2:i2+d2-1, ... , iN:iN+dN-1) = a.

Definition at line 1601 of file Array.cc.

References Array< T >::dims(), k, Array< T >::numel(), ra_idx, and dim_vector::redim().

Referenced by boolMatrix::insert(), boolNDArray::insert(), charMatrix::insert(), charNDArray::insert(), ComplexNDArray::insert(), Matrix::insert(), FloatComplexNDArray::insert(), Cell::insert(), intNDArray< T >::insert(), FloatNDArray::insert(), NDArray::insert(), FloatComplexMatrix::insert(), and single_type_concat().

template<typename T>
Array< T > & Array< T >::insert ( const Array< T > &  a,
octave_idx_type  r,
octave_idx_type  c 
)

This is just a special case for idx = [r c 0 ...].

Definition at line 1580 of file Array.cc.

References Array< T >::columns(), Array< T >::dimensions, k, Array< T >::ndims(), and Array< T >::rows().

template<>
void Array< idx_vector >::instantiation_guard ( )
private

Definition at line 41 of file Array-idx-vec.cc.

template<>
void Array< short >::instantiation_guard ( )
private

Definition at line 44 of file Array-s.cc.

template<>
void Array< long >::instantiation_guard ( )
private

Definition at line 50 of file Array-i.cc.

template<>
void Array< octave_int8 >::instantiation_guard ( )
private

Definition at line 60 of file Array-i.cc.

template<>
void Array< octave_int16 >::instantiation_guard ( )
private

Definition at line 61 of file Array-i.cc.

template<>
void Array< octave_int32 >::instantiation_guard ( )
private

Definition at line 62 of file Array-i.cc.

template<>
void Array< octave_int64 >::instantiation_guard ( )
private

Definition at line 63 of file Array-i.cc.

template<>
void Array< octave_uint8 >::instantiation_guard ( )
private

Definition at line 70 of file Array-i.cc.

template<>
void Array< octave_uint16 >::instantiation_guard ( )
private

Definition at line 71 of file Array-i.cc.

template<>
void Array< octave_uint32 >::instantiation_guard ( )
private

Definition at line 72 of file Array-i.cc.

template<>
void Array< octave_uint64 >::instantiation_guard ( )
private

Definition at line 73 of file Array-i.cc.

template<typename T >
void Array< T >::instantiation_guard ( )
staticprivate

Definition at line 2760 of file Array.cc.

template<typename T>
Array<T> Array< T >::ipermute ( const Array< octave_idx_type > &  vec) const
inline

Definition at line 570 of file Array.h.

Referenced by MArray< Complex >::ipermute().

template<typename T>
bool Array< T >::is_empty ( void  ) const
inline

Definition at line 575 of file Array.h.

Referenced by box_more(), octave::ft_text_renderer::compute_bbox(), octave::ft_text_renderer::compute_line_xoffset(), charNDArray::concat(), FloatNDArray::concat(), NDArray::concat(), convolve(), daspk_user_function(), daspk_user_jacobian(), dasrt_user_cf(), dasrt_user_f(), dasrt_user_j(), dassl_user_function(), dassl_user_jacobian(), bp_table::dbstop_process_map_args(), ddaspk_f(), ddasrt_f(), ddassl_f(), do_bsxfun_op(), do_colon_op(), do_inplace_bsxfun_op(), do_minmax_red_op< boolNDArray >(), octave::opengl_renderer::draw_axes_planes(), octave::opengl_renderer::draw_image(), octave::opengl_renderer::draw_patch(), octave::opengl_renderer::draw_surface(), EigsComplexNonSymmetricFunc(), EigsComplexNonSymmetricMatrix(), EigsComplexNonSymmetricMatrixShift(), EigsRealNonSymmetricFunc(), EigsRealNonSymmetricMatrix(), EigsRealNonSymmetricMatrixShift(), EigsRealSymmetricFunc(), EigsRealSymmetricMatrix(), EigsRealSymmetricMatrixShift(), F__fieldnames__(), Array< T >::find(), find_nonzero_elem_idx(), axes::properties::get_boundingbox(), uicontrol::properties::get_boundingbox(), uibuttongroup::properties::get_boundingbox(), uipanel::properties::get_boundingbox(), get_builtin_classes(), octave_char_matrix_str::load_ascii(), octave_bool_matrix::load_ascii(), lsode_f(), lsode_user_function(), lsode_user_jacobian(), LuAminusSigmaB(), Range::matrix_value(), Array< T >::nth_element(), null(), octave_print_internal(), octave::textscan::scan_string(), octave_cell::short_disp(), octave::ft_text_renderer::text_to_pixels(), patch::properties::update_data(), and patch::properties::update_fvc().

template<typename T>
bool Array< T >::is_shared ( void  )
inline
template<>
sortmode Array< idx_vector >::is_sorted ( sortmode  ) const

Definition at line 39 of file Array-idx-vec.cc.

template<typename T >
sortmode Array< T >::is_sorted ( sortmode  mode = UNSORTED) const
template<>
sortmode Array< idx_vector >::is_sorted_rows ( sortmode  ) const

Definition at line 39 of file Array-idx-vec.cc.

template<typename T >
sortmode Array< T >::is_sorted_rows ( sortmode  mode = UNSORTED) const
template<typename T>
bool Array< T >::is_square ( void  ) const
inline

Definition at line 573 of file Array.h.

template<typename T>
bool Array< T >::is_vector ( void  ) const
inline

Definition at line 577 of file Array.h.

Referenced by Ffilter(), and sizes_cmp().

template<typename T>
void* Array< T >::jit_array_rep ( void  ) const
inline

Definition at line 850 of file Array.h.

template<typename T>
octave_idx_type* Array< T >::jit_dimensions ( void  ) const
inline

Definition at line 848 of file Array.h.

template<typename T>
int* Array< T >::jit_ref_count ( void  )
inline

WARNING: Only call these functions from jit.

Definition at line 844 of file Array.h.

Referenced by octave_jit_paren_subsasgn_matrix_range().

template<typename T>
T* Array< T >::jit_slice_data ( void  ) const
inline

Definition at line 846 of file Array.h.

Referenced by octave_jit_paren_subsasgn_matrix_range().

template<typename T>
octave_idx_type Array< T >::length ( void  ) const
inline

Number of elements in the array.

Synonymous with numel().

Note
This method is deprecated in favour of numel().
This is not the same as length() at the Octave interpreter. At the Octave interpreter, the function length() returns the length of the greatest dimension. This method returns the total number of elements.

Definition at line 354 of file Array.h.

Referenced by Array< T >::assign(), Fisguirunning(), Fprogram_invocation_name(), get_struct_elts(), Array< T >::index(), octave::textscan::parse_options(), symbol_info_list::parse_whos_line_format(), octave_fcn_inline::save_binary(), octave_fcn_inline::save_hdf5(), octave_cell::string_vector_value(), octave::sys::tilde_find_prefix(), and octave::sys::tilde_find_suffix().

template<typename T >
Array< T > Array< T >::linear_slice ( octave_idx_type  lo,
octave_idx_type  up 
) const

Extract a slice from this array as a column vector: A(:)(lo+1:up).

Must be 0 <= lo && up <= numel. May be up < lo.

Definition at line 297 of file Array.cc.

References octave::err_index_out_of_range(), and numel().

Referenced by octave_value_list::slice().

template<>
Array< octave_idx_type > Array< idx_vector >::lookup ( const Array< idx_vector > &  ,
sortmode   
) const

Definition at line 39 of file Array-idx-vec.cc.

template<>
octave_idx_type Array< idx_vector >::lookup ( idx_vector const &  ,
sortmode   
) const

Definition at line 39 of file Array-idx-vec.cc.

template<typename T>
octave_idx_type Array< T >::lookup ( const T &  value,
sortmode  mode = UNSORTED 
) const

Do a binary lookup in a sorted array.

Must not contain NaNs. Mode can be specified or is auto-detected by comparing 1st and last element.

Definition at line 2166 of file Array.cc.

References ASCENDING, DESCENDING, octave_sort< T >::descending_compare(), elem, octave_sort< T >::lookup(), numel(), octave_sort< T >::set_compare(), and UNSORTED.

Referenced by do_numeric_lookup().

template<typename T>
Array< octave_idx_type > Array< T >::lookup ( const Array< T > &  values,
sortmode  mode = UNSORTED 
) const
template<typename T>
void Array< T >::make_unique ( void  )
inline
template<typename T>
template<typename U , typename F >
Array<U> Array< T >::map ( F  fcn) const
inline

Apply function fcn to each element of the Array<T>.

This function is optimized with a manually unrolled loop.

Definition at line 760 of file Array.h.

Referenced by if(), octave_float_complex_diag_matrix::map(), octave_complex_diag_matrix::map(), octave_float_diag_matrix::map(), octave_diag_matrix::map(), DiagMatrix::rcond(), FloatDiagMatrix::rcond(), ComplexDiagMatrix::rcond(), and FloatComplexDiagMatrix::rcond().

template<typename T>
template<typename U >
Array<U> Array< T >::map ( U(&)(T)  fcn) const
inline

Overloads for function references.

Definition at line 792 of file Array.h.

template<typename T>
template<typename U >
Array<U> Array< T >::map ( U(&)(const T &)  fcn) const
inline

Definition at line 797 of file Array.h.

template<typename T>
void Array< T >::maybe_economize ( void  )
inline

Definition at line 690 of file Array.h.

template<typename T>
void* Array< T >::mex_get_data ( void  ) const
inline

Give a pointer to the data in mex format.

Unsafe. This function exists to support the MEX interface. You should not use it anywhere else.

Definition at line 706 of file Array.h.

Referenced by octave_cell::mex_get_data().

template<typename T>
int Array< T >::ndims ( void  ) const
inline
template<typename T>
octave_idx_type Array< T >::nelem ( void  ) const
inline

Number of elements in the array.

Synonymous with numel().

Note
This method is deprecated in favour of numel().

Definition at line 360 of file Array.h.

template<typename T >
Array< T >::ArrayRep * Array< T >::nil_rep ( void  )
staticprivate

Definition at line 50 of file Array.cc.

template<>
octave_idx_type Array< idx_vector >::nnz ( void  ) const

Definition at line 39 of file Array-idx-vec.cc.

template<typename T >
octave_idx_type Array< T >::nnz ( void  ) const
template<>
Array< idx_vector > Array< idx_vector >::nth_element ( const idx_vector ,
int   
) const

Definition at line 39 of file Array-idx-vec.cc.

template<typename T >
Array< T > Array< T >::nth_element ( const idx_vector n,
int  dim = 0 
) const

Returns the n-th element in increasing order, using the same ordering as used for sort.

n can either be a scalar index or a contiguous range.

Definition at line 2327 of file Array.cc.

References ASCENDING, idx_vector::class_range, idx_vector::class_scalar, DESCENDING, dims, dv, Array< T >::fortran_vec(), idx_vector::idx_class(), idx_vector::increment(), Array< T >::is_empty(), idx_vector::length(), m, max(), min(), mode, nn, octave_sort< T >::nth_element(), numel(), OCTAVE_LOCAL_BUFFER, octave_sort< T >::set_compare(), tmp, UNSORTED, and zero.

template<typename T>
octave_idx_type Array< T >::numel ( void  ) const
inline

Number of elements in the array.

Definition at line 363 of file Array.h.

Referenced by file_editor_tab::add_octave_apis(), load_path::loader::add_to_fcn_map(), all_colon_equiv(), all_ok(), all_ones(), any_ones(), any_orig_empty(), RowVector::append(), FloatRowVector::append(), ComplexRowVector::append(), FloatComplexRowVector::append(), Matrix::append(), string_vector::append(), FloatMatrix::append(), ComplexMatrix::append(), FloatComplexMatrix::append(), Array< T >::Array(), Array< T >::assign(), binmap(), bitopxx(), QtHandles::boundingBoxToRect(), box(), QtHandles::ButtonControl::ButtonControl(), axes::properties::calc_ticklabels(), axes::properties::calc_ticks_and_lims(), QtHandles::Canvas::canvasWheelEvent(), Cell::Cell(), check_limit_vals(), PermMatrix::checkelem(), ComplexNDArray::ComplexNDArray(), compute_index(), Sparse< T >::compute_index(), Array< octave_value >::compute_index_unchecked(), boolNDArray::concat(), charNDArray::concat(), ComplexNDArray::concat(), FloatComplexNDArray::concat(), FloatNDArray::concat(), NDArray::concat(), intNDArray< T >::concat(), concat(), conv_to_int_array(), convert_cdata(), convert_position(), convert_text_position(), tree_parameter_list::convert_to_const_vector(), daspk_user_function(), daspk_user_jacobian(), dasrt_user_f(), dasrt_user_j(), dassl_user_function(), dassl_user_jacobian(), bp_table::dbstop_process_map_args(), decode_subscripts(), default_numeric_conversion_function(), DEFUN(), qr< T >::delete_col(), Array< T >::delete_elements(), delete_graphics_objects(), cdef_class::cdef_class_rep::delete_object(), DiagArray2< Complex >::diag_length(), DiagArray2< T >::DiagArray2(), PermMatrix::dim1(), PermMatrix::dim2(), octave::math::do_bessel(), do_bsxfun_op(), do_cleanup_waitfor_listener(), gh_manager::do_close_all_figures(), gh_manager::do_execute_callback(), load_path::do_files(), load_path::do_find_all_first_of(), load_path::do_find_file(), load_path::do_find_first_of(), octave_rand::do_float_nd_array(), octave_rand::do_float_vector(), do_history(), children_property::do_init_children(), do_inplace_bsxfun_op(), LSODE::do_integrate(), DASPK::do_integrate(), DASSL::do_integrate(), DefQuad::do_integrate(), FloatDefQuad::do_integrate(), do_minmax_bin_op< charNDArray >(), do_mm_binary_op(), do_mm_inplace_op(), do_ms_binary_op(), do_ms_inplace_op(), do_mx_check(), do_mx_inplace_op(), octave_rand::do_nd_array(), load_path::do_path(), do_rand(), do_rc_map(), octave_value_typeinfo::do_register_type(), string_array_property::do_set(), text_label_property::do_set(), color_property::do_set(), children_property::do_set(), octave_qt_link::do_set_history(), octave_sparse_params::do_set_vals(), do_sm_binary_op(), octave_rand::do_vector(), symbol_table::do_workspace_info(), chol< T >::downdate(), octave::opengl_renderer::draw(), octave::opengl_renderer::draw_all_lights(), octave::opengl_renderer::draw_axes_x_grid(), octave::opengl_renderer::draw_axes_y_grid(), octave::opengl_renderer::draw_axes_z_grid(), octave::opengl_renderer::draw_line(), octave::opengl_renderer::draw_marker(), octave::opengl_renderer::draw_patch(), octave::opengl_selector::draw_text(), octave::opengl_renderer::draw_text(), EigsComplexNonSymmetricMatrix(), EigsComplexNonSymmetricMatrixShift(), EigsRealNonSymmetricMatrix(), EigsRealNonSymmetricMatrixShift(), EigsRealSymmetricMatrix(), EigsRealSymmetricMatrixShift(), elem_xpow(), octave_fields::equal_up_to_order(), file_editor_tab::exit_debug_and_clear(), extract_keyword(), F__contourc__(), F__ftp_dir__(), F__ftp_mget__(), F__ftp_mput__(), F__magick_read__(), F__octave_link_input_dialog__(), F__octave_link_list_dialog__(), F__pchip_deriv__(), octave_base_matrix< Cell >::fast_elem_insert(), Fdrawnow(), Fellipj(), Ffilter(), Fget(), DiagMatrix::fill(), FloatDiagMatrix::fill(), ComplexDiagMatrix::fill(), FloatComplexDiagMatrix::fill(), cdef_object_array::fill_empty_values(), filter(), finalize_r(), Array< T >::find(), cdef_class::cdef_class_rep::find_method(), cdef_class::cdef_class_rep::find_methods(), cdef_class::cdef_class_rep::find_names(), find_nonzero_elem_idx(), cdef_class::cdef_class_rep::find_properties(), cdef_class::cdef_class_rep::find_property(), FloatComplexNDArray::FloatComplexNDArray(), FloatNDArray::FloatNDArray(), octave::sys::fnmatch(), for(), octave::curl_transfer::form_query_string(), freeze(), Freset(), QtHandles::Utils::fromRgb(), QtHandles::Utils::fromStringVector(), Fspparms(), G__delaunayn__(), G__glpk__(), G__voronoi__(), Gaudioread(), Gccolamd(), Gcolamd(), Gconvhulln(), generate_completion(), genpath(), cdef_object_scalar::get(), get_array_limits(), get_children_limits(), get_dim_vector(), get_dims_str(), get_elt_idx(), get_fcn_files(), load_path::dir_info::get_file_list(), get_scalar_idx(), axes::properties::get_scale(), get_size(), get_sort_mode(), axes::properties::get_ticklabel_extents(), octave::sys::glob(), symbol_table::glob_variables(), QtHandles::hasUiControlChildren(), QtHandles::hasUiMenuChildren(), MArray< T >::idx_add(), MArray< T >::idx_max(), MArray< T >::idx_min(), idx_vector::idx_vector(), idx_vector::idx_vector_rep::idx_vector_rep(), if(), increment_index(), Array< T >::index(), index_in_bounds(), octave::opengl_renderer::init_gl_context(), base_diff_alg_eqn::initialize(), ODES::initialize(), initialize_r(), tree_parameter_list::initialize_undefined_elements(), RowVector::insert(), ColumnVector::insert(), FloatRowVector::insert(), FloatColumnVector::insert(), ComplexRowVector::insert(), ComplexColumnVector::insert(), FloatComplexColumnVector::insert(), FloatComplexRowVector::insert(), ComplexNDArray::insert(), Matrix::insert(), FloatComplexNDArray::insert(), FloatMatrix::insert(), ComplexMatrix::insert(), FloatComplexMatrix::insert(), Sparse< T >::insert(), Array< T >::insert(), qr< T >::insert_col(), qr< T >::insert_row(), chol< T >::insert_sym(), octave_value::int_vector_value(), DASSL::integrate(), DASPK::integrate(), DASRT::integrate(), octave::math::sparse_chol< chol_type >::inverse(), is_handle(), is_handle_visible(), octave::regexp::is_match(), Array< double >::is_sorted(), Array< float >::is_sorted(), is_superclass(), Java_org_octave_Octave_doInvoke(), DiagArray2< Complex >::length(), linspace(), QtHandles::ListBoxControl::ListBoxControl(), octave_bool_matrix::load_ascii(), octave_perm_matrix::load_binary(), octave::textscan::lookahead(), Array< T >::lookup(), lookup_classes(), Matrix::lssolve(), FloatMatrix::lssolve(), ComplexMatrix::lssolve(), FloatComplexMatrix::lssolve(), LuAminusSigmaB(), make_absolute(), make_name_list(), make_stack_frame_list(), octave_fcn_inline::map_value(), cdef_object::map_value(), glob_match::match(), octave::base_url_transfer::mget_directory(), mk_tmp_hist_file(), load_path::loader::move_fcn_map(), octave::base_url_transfer::mput_directory(), NDArray::NDArray(), PermMatrix::nelem(), null(), num_ones(), numel(), octave_class::numeric_conv(), octave_fcn_inline::octave_fcn_inline(), octave_fields::octave_fields(), octave_value::octave_idx_type_vector_value(), octave_jit_paren_subsasgn_impl(), octave_print_internal(), octcellregexp(), octregexp(), operator*(), ComplexRowVector::operator+=(), ComplexColumnVector::operator+=(), FloatComplexRowVector::operator+=(), FloatComplexColumnVector::operator+=(), ComplexRowVector::operator-=(), ComplexColumnVector::operator-=(), FloatComplexRowVector::operator-=(), FloatComplexColumnVector::operator-=(), operator<<(), RowVector::operator==(), FloatRowVector::operator==(), ColumnVector::operator==(), FloatColumnVector::operator==(), ComplexRowVector::operator==(), ComplexColumnVector::operator==(), FloatComplexColumnVector::operator==(), FloatComplexRowVector::operator==(), operator>>(), parse_dbfunction_params(), octave::textscan::parse_options(), parse_save_options(), pattern(), PermMatrix::perm_length(), octave_base_diag< DiagMatrix, Matrix >::permute(), Sparse< T >::permute(), Array< T >::permute(), print_DASPK_options(), print_DASRT_options(), print_DASSL_options(), print_LSODE_options(), octave_fcn_inline::print_raw(), octave_struct::print_raw(), octave_scalar_struct::print_raw(), Matrix::pseudo_inverse(), FloatMatrix::pseudo_inverse(), ComplexMatrix::pseudo_inverse(), FloatComplexMatrix::pseudo_inverse(), qp(), qs_preprocess(), qs_search(), Sparse< T >::range_error(), read_images(), read_indexed_images(), read_mat5_binary_element(), read_mat5_binary_file_header(), octave::textscan::read_until(), rec_permute_helper::rec_permute_helper(), octave::sys::recursive_rmdir(), symbol_table::regexp_variables(), figure::properties::remove_child(), load_path::loader::remove_fcn_map(), octave::ft_text_renderer::render(), octave::opengl_renderer::render_grid(), octave::opengl_renderer::render_tickmarks(), octave::opengl_renderer::render_ticktexts(), safe_comparator(), octave_fcn_inline::save_ascii(), octave_perm_matrix::save_ascii(), octave_fcn_inline::save_binary(), octave_float_complex_diag_matrix::save_binary(), octave_complex_diag_matrix::save_binary(), octave_float_diag_matrix::save_binary(), octave_diag_matrix::save_binary(), octave_bool_matrix::save_binary(), octave_fcn_inline::save_hdf5(), octave_bool_matrix::save_hdf5(), save_mat5_binary_element(), save_mat5_element_length(), log_scaler::scale(), neg_log_scaler::scale(), octave::textscan::scan_complex(), octave::textscan::scan_string(), search_path_for_all_files(), QtHandles::Canvas::select_object(), gnuplot_graphics_toolkit::send_quit(), graphics_object::set(), octave::ft_text_renderer::set_color(), annotation_dialog::set_gui_props(), figure::properties::set_integerhandle(), octave_rand::set_internal_state(), octave::ft_text_renderer::set_mode(), uicontrol::properties::set_style(), PermMatrix::setup(), show_DASPK_options(), show_DASRT_options(), show_DASSL_options(), show_LSODE_options(), single_type_concat(), sizes_cmp(), octave::textscan::skip_delim(), octave::textscan::skip_whitespace(), QtHandles::SliderControl::SliderControl(), Sparse< T >::Sparse(), octave::math::sparse_lu< lu_type >::sparse_lu(), ColumnVector::stack(), FloatColumnVector::stack(), ComplexColumnVector::stack(), FloatComplexColumnVector::stack(), Matrix::stack(), FloatMatrix::stack(), ComplexMatrix::stack(), FloatComplexMatrix::stack(), string_array_property::string_array_property(), string_array_property::string_value(), octave_cell::string_vector_value(), sub2ind(), octave_struct::subsasgn(), octave_cell::subsasgn(), cdef_object_array::subsasgn(), octave_class::subsasgn_common(), octave_struct::subsref(), octave_class::subsref(), cdef_object_array::subsref(), text_label_property::text_label_property(), octave::sys::file_ops::tilde_expand(), octave::sys::tilde_find_prefix(), octave::sys::tilde_find_suffix(), PermMatrix::transpose(), try_cellfun_internal_ops(), octave_float_matrix::try_narrowing_conversion(), octave_float_complex_matrix::try_narrowing_conversion(), octave_complex_matrix::try_narrowing_conversion(), octave_matrix::try_narrowing_conversion(), unbox(), QtHandles::ButtonControl::update(), QtHandles::PopupMenuControl::update(), QtHandles::SliderControl::update(), lu< T >::update(), qr< T >::update(), chol< T >::update(), hggroup::update_axis_limits(), base_properties::update_boundingbox(), lu< T >::update_piv(), text::properties::update_position(), QtHandles::updateSelection(), vector_norm(), octave::opengl_renderer::patch_tesselator::vertex(), octave::tree_evaluator::visit_complex_for_command(), tree_print_code::visit_index_expression(), octave::sys::windows_glob(), octave_stream::write(), write_mat5_array(), write_mat5_cell_array(), x_el_div(), octave::xzip(), and zero_dims_inquire().

template<typename T>
T& Array< T >::operator() ( octave_idx_type  n)
inline

Definition at line 505 of file Array.h.

template<typename T>
T& Array< T >::operator() ( octave_idx_type  i,
octave_idx_type  j 
)
inline

Definition at line 506 of file Array.h.

template<typename T>
T& Array< T >::operator() ( octave_idx_type  i,
octave_idx_type  j,
octave_idx_type  k 
)
inline

Definition at line 507 of file Array.h.

template<typename T>
T& Array< T >::operator() ( const Array< octave_idx_type > &  ra_idx)
inline

Definition at line 509 of file Array.h.

template<typename T>
crefT Array< T >::operator() ( octave_idx_type  n) const
inline

Definition at line 540 of file Array.h.

template<typename T>
crefT Array< T >::operator() ( octave_idx_type  i,
octave_idx_type  j 
) const
inline

Definition at line 541 of file Array.h.

template<typename T>
crefT Array< T >::operator() ( octave_idx_type  i,
octave_idx_type  j,
octave_idx_type  k 
) const
inline

Definition at line 543 of file Array.h.

template<typename T>
crefT Array< T >::operator() ( const Array< octave_idx_type > &  ra_idx) const
inline

Definition at line 546 of file Array.h.

template<typename T>
Array<T>& Array< T >::operator= ( const Array< T > &  a)
inline
template<typename T >
bool Array< T >::optimize_dimensions ( const dim_vector dv)

Returns true if this->dims () == dv, and if so, replaces this->dimensions by a shallow copy of dv.

This is useful for maintaining several arrays with supposedly equal dimensions (e.g. structs in the interpreter).

Definition at line 2750 of file Array.cc.

References dv, and retval.

template<typename T >
Array< T > Array< T >::page ( octave_idx_type  k) const

Extract page: A(:,:,k+1).

Definition at line 282 of file Array.cc.

References c, octave::err_index_out_of_range(), and p.

template<typename T>
octave_idx_type Array< T >::pages ( void  ) const
inline

Definition at line 418 of file Array.h.

template<typename T >
Array< T > Array< T >::permute ( const Array< octave_idx_type > &  vec,
bool  inv = false 
) const
template<typename T >
void Array< T >::print_info ( std::ostream &  os,
const std::string prefix 
) const

Definition at line 2734 of file Array.cc.

Referenced by PermMatrix::print_info(), and DiagArray2< Complex >::print_info().

template<typename T>
Array<T> Array< T >::reshape ( octave_idx_type  nr,
octave_idx_type  nc 
) const
inline
template<typename T>
Array<T> Array< T >::reshape ( const dim_vector new_dims) const
inline

Definition at line 566 of file Array.h.

template<typename T>
void Array< T >::resize ( const dim_vector dv,
const T &  rfv 
)

Definition at line 1028 of file Array.cc.

References dim_vector::any_neg(), dv, octave::err_invalid_resize(), Array< T >::fortran_vec(), dim_vector::ndims(), dim_vector::redim(), rec_resize_helper::resize_fill(), and tmp.

Referenced by jit_operation::add_overload(), octave::math::airy(), octave::math::betainc(), octave::math::betaincinv(), octave::math::biry(), Cell::column(), Matrix::column_max(), FloatMatrix::column_max(), ComplexMatrix::column_max(), FloatComplexMatrix::column_max(), Matrix::column_min(), FloatMatrix::column_min(), ComplexMatrix::column_min(), FloatComplexMatrix::column_min(), octave::regexp::compile_internal(), Array< T >::diag(), dmsolve_permute(), octave::math::do_bessel(), do_fft(), do_fft2(), do_fftn(), LSODE::do_integrate(), DASPK::do_integrate(), DASSL::do_integrate(), octave_value_typeinfo::do_register_type(), DiagArray2< T >::extract_diag(), F__magick_read__(), Ffilter(), Fget(), filter(), find_nonzero_elem_idx(), Matrix::finverse(), FloatMatrix::finverse(), ComplexMatrix::finverse(), FloatComplexMatrix::finverse(), G__glpk__(), get_ra_idx(), ichol_t(), MArray< T >::idx_add_nd(), Array< T >::index(), octave_value::int_vector_value(), DASRT::integrate(), intmap_to_ov(), octave_float_complex_matrix::load_hdf5(), octave_char_matrix_str::load_hdf5(), octave_complex_matrix::load_hdf5(), octave_cell::load_hdf5(), octave_float_matrix::load_hdf5(), octave_bool_matrix::load_hdf5(), octave_matrix::load_hdf5(), Matrix::lssolve(), FloatMatrix::lssolve(), ComplexMatrix::lssolve(), FloatComplexMatrix::lssolve(), make_indices(), make_subs_cell(), SparseMatrix::max(), SparseComplexMatrix::max(), SparseMatrix::min(), SparseComplexMatrix::min(), octave_base64_decode(), octave_value::octave_idx_type_vector_value(), octave_value_list::octave_value_list(), boolMatrix::resize(), charMatrix::resize(), string_vector::resize(), RowVector::resize(), FloatRowVector::resize(), ColumnVector::resize(), octave_char_matrix_str::resize(), FloatColumnVector::resize(), octave_range::resize(), ComplexRowVector::resize(), FloatComplexRowVector::resize(), ComplexColumnVector::resize(), Matrix::resize(), FloatComplexColumnVector::resize(), FloatMatrix::resize(), DiagArray2< T >::resize(), ComplexMatrix::resize(), FloatComplexMatrix::resize(), octave_char_matrix_sq_str::resize(), octave_map::resize(), Matrix::row_max(), FloatMatrix::row_max(), ComplexMatrix::row_max(), FloatComplexMatrix::row_max(), Matrix::row_min(), FloatMatrix::row_min(), ComplexMatrix::row_min(), FloatComplexMatrix::row_min(), tree_cell::rvalue1(), octave_base_scalar< bool >::sort(), Range::sort_internal(), octave::math::sparse_lu< lu_type >::sparse_lu(), and patch::properties::update_data().

template<typename T>
void Array< T >::resize ( const dim_vector dv)
inline

Definition at line 615 of file Array.h.

Referenced by Array< octave_value >::resize().

template<typename T>
void Array< T >::resize1 ( octave_idx_type  n,
const T &  rfv 
)
template<typename T>
void Array< T >::resize1 ( octave_idx_type  n)
inline

Definition at line 612 of file Array.h.

Referenced by Array< octave_value >::resize1().

template<typename T>
void Array< T >::resize2 ( octave_idx_type  nr,
octave_idx_type  nc,
const T &  rfv 
)

Resizing (with fill).

Definition at line 986 of file Array.cc.

References octave::err_invalid_resize(), Array< T >::fortran_vec(), k, min(), and tmp.

Referenced by Array< T >::find(), and Array< T >::index().

template<typename T>
void Array< T >::resize2 ( octave_idx_type  nr,
octave_idx_type  nc 
)
inline

Definition at line 606 of file Array.h.

template<typename T >
T Array< T >::resize_fill_value ( void  ) const
virtual

Reimplemented in Cell.

Definition at line 904 of file Array.cc.

References zero.

template<typename T>
octave_idx_type Array< T >::rows ( void  ) const
inline

Definition at line 401 of file Array.h.

Referenced by aepbalance< T >::aepbalance(), octave::math::airy(), Matrix::append(), FloatMatrix::append(), ComplexMatrix::append(), FloatComplexMatrix::append(), octave::math::biry(), SparseMatrix::bsolve(), SparseComplexMatrix::bsolve(), octave::math::sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::C(), octave_char_matrix_str::cellstr_value(), chol2inv_internal(), cntr(), column_norms(), ComplexMatrix::ComplexMatrix(), convert_cdata(), octave_float_complex_matrix::diag(), octave_complex_matrix::diag(), octave_float_matrix::diag(), octave_matrix::diag(), dmsolve_insert(), dmsolve_permute(), octave::math::do_bessel(), do_fftn(), string_array_property::do_set(), do_sqrtm(), do_tril(), do_triu(), octave::opengl_renderer::draw_patch(), octave::opengl_renderer::draw_surface(), drawcn(), SparseComplexMatrix::dsolve(), SparseMatrix::dsolve(), elem_xpow(), F__dsearchn__(), F__octave_link_file_dialog__(), F__octave_link_input_dialog__(), F__pchip_deriv__(), find_nonzero_elem_idx(), FloatComplexMatrix::FloatComplexMatrix(), FloatMatrix::FloatMatrix(), qr< T >::form(), Matrix::fsolve(), FloatMatrix::fsolve(), ComplexMatrix::fsolve(), FloatComplexMatrix::fsolve(), SparseMatrix::fsolve(), SparseComplexMatrix::fsolve(), G__delaunayn__(), G__glpk__(), G__voronoi__(), octave::math::gammainc(), Gconvhulln(), EIG::hermitian_init(), FloatEIG::hermitian_init(), hex2num(), Sparse< T >::index(), Array< T >::index(), hess< T >::init(), gepbalance< T >::init(), qrp< T >::init(), schur< T >::init(), EIG::init(), FloatEIG::init(), chol< T >::init(), qr< T >::init(), ComplexMatrix::insert(), FloatComplexMatrix::insert(), Array< T >::insert(), kron(), Matrix::lssolve(), FloatMatrix::lssolve(), ComplexMatrix::lssolve(), FloatComplexMatrix::lssolve(), Matrix::ltsolve(), FloatMatrix::ltsolve(), SparseMatrix::ltsolve(), SparseComplexMatrix::ltsolve(), ComplexMatrix::ltsolve(), FloatComplexMatrix::ltsolve(), lu< T >::lu(), LuAminusSigmaB(), mark_facets(), mark_upper_triangular(), Matrix::Matrix(), matrix_real_probe(), max(), min(), null(), octave_print_internal(), operator*(), ComplexMatrix::operator+=(), FloatComplexMatrix::operator+=(), ComplexMatrix::operator-=(), FloatComplexMatrix::operator-=(), operator<<(), boolMatrix::operator==(), charMatrix::operator==(), FloatMatrix::operator==(), Matrix::operator==(), ComplexMatrix::operator==(), FloatComplexMatrix::operator==(), operator>>(), pr_max_internal(), pr_min_internal(), row_norms(), octave::math::rsf2csf< ComplexMatrix, Matrix >(), octave::math::rsf2csf< FloatComplexMatrix, FloatMatrix >(), octave_char_matrix_str::save_ascii(), octave_cell::save_ascii(), save_mat_ascii_data(), save_mat_binary_data(), save_three_d(), log_scaler::scale(), neg_log_scaler::scale(), graphics_xform::scale(), sizes_cmp(), sqrtm_utri_inplace(), Matrix::stack(), FloatMatrix::stack(), ComplexMatrix::stack(), FloatComplexMatrix::stack(), stack_complex_matrix(), octave_char_matrix_str::string_vector_value(), Sylvester(), EIG::symmetric_init(), FloatEIG::symmetric_init(), octave::math::sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::tall_solve(), SparseMatrix::trisolve(), SparseComplexMatrix::trisolve(), octave_bool_matrix::try_narrowing_conversion(), unstack_complex_matrix(), lu< T >::update(), qr< T >::update(), patch::properties::update_data(), patch::properties::update_fvc(), lu< T >::update_piv(), surface::properties::update_vertex_normals(), Matrix::utsolve(), FloatMatrix::utsolve(), SparseComplexMatrix::utsolve(), SparseMatrix::utsolve(), ComplexMatrix::utsolve(), FloatComplexMatrix::utsolve(), vector_product(), octave::math::sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::wide_solve(), x_el_div(), xgemm(), and xpow().

template<typename T>
size_type Array< T >::size ( const size_type  d) const
inline

Size of the specified dimension.

Dimensions beyond the Array number of dimensions return 1 as those are implicit singleton dimensions.

Equivalent to Octave's size (A, DIM)

Definition at line 428 of file Array.h.

Referenced by load_path::loader::fcn_names(), octave::textscan::parse_options(), and octave_value::size().

template<>
Array< idx_vector > Array< idx_vector >::sort ( Array< octave_idx_type > &  sidx,
int  ,
sortmode   
) const

Definition at line 39 of file Array-idx-vec.cc.

template<>
Array< idx_vector > Array< idx_vector >::sort ( int  ,
sortmode   
) const

Definition at line 39 of file Array-idx-vec.cc.

template<typename T >
Array< T > Array< T >::sort ( int  dim = 0,
sortmode  mode = ASCENDING 
) const
template<typename T >
Array< T > Array< T >::sort ( Array< octave_idx_type > &  sidx,
int  dim = 0,
sortmode  mode = ASCENDING 
) const
template<>
Array< octave_idx_type > Array< idx_vector >::sort_rows_idx ( sortmode  ) const

Definition at line 39 of file Array-idx-vec.cc.

template<typename T >
Array< octave_idx_type > Array< T >::sort_rows_idx ( sortmode  mode = ASCENDING) const
template<typename T >
Array< T > Array< T >::squeeze ( void  ) const

Chop off leading singleton dimensions.

Definition at line 125 of file Array.cc.

References k, dim_vector::resize(), retval, and tmp.

Referenced by octave_lazy_index::squeeze(), boolNDArray::squeeze(), charNDArray::squeeze(), MArray< Complex >::squeeze(), and octave_matrix::squeeze().

template<typename T>
template<typename F , bool zero>
bool Array< T >::test ( F  fcn) const
inline

Generic any/all test functionality with arbitrary predicate.

Definition at line 803 of file Array.h.

Referenced by crati(), and cunhj().

template<typename T>
template<typename F >
bool Array< T >::test_all ( F  fcn) const
inline

Definition at line 815 of file Array.h.

template<typename T>
bool Array< T >::test_all ( bool(&)(T)  fcn) const
inline

Definition at line 827 of file Array.h.

template<typename T>
bool Array< T >::test_all ( bool(&)(const T &)  fcn) const
inline

Definition at line 830 of file Array.h.

template<typename T>
template<typename F >
bool Array< T >::test_any ( F  fcn) const
inline

Simpler calls.

Definition at line 811 of file Array.h.

template<typename T>
bool Array< T >::test_any ( bool(&)(T)  fcn) const
inline

Overloads for function references.

Definition at line 821 of file Array.h.

template<typename T>
bool Array< T >::test_any ( bool(&)(const T &)  fcn) const
inline

Definition at line 824 of file Array.h.

template<typename T >
Array< T > Array< T >::transpose ( void  ) const
template<typename T>
T& Array< T >::xelem ( octave_idx_type  n)
inline

Definition at line 455 of file Array.h.

Referenced by intNDArray< T >::abs(), SparseBoolMatrix::any(), DiagArray2< T >::array_value(), idx_vector::idx_range_rep::as_array(), idx_vector::idx_mask_rep::as_array(), Cell::cellstr_value(), octave_char_matrix_str::cellstr_value(), chol2inv_internal(), Cell::column(), column_norms(), Cell::delete_elements(), DiagArray2< Complex >::dgxelem(), Array< T >::diag(), dmsolve_extract(), children_property::do_init_children(), do_numeric_lookup(), children_property::do_set(), Array< octave_value >::elem(), RowVector::extract(), ColumnVector::extract(), FloatRowVector::extract(), FloatColumnVector::extract(), RowVector::extract_n(), ColumnVector::extract_n(), FloatRowVector::extract_n(), FloatColumnVector::extract_n(), F__octave_link_file_dialog__(), F__octave_link_input_dialog__(), F__octave_link_list_dialog__(), octave_fields::fieldnames(), cdef_object_array::fill_empty_values(), find_nonzero_elem_idx(), qr< T >::form(), SparseMatrix::fsolve(), SparseComplexMatrix::fsolve(), Gamd(), octave::math::lu< T >::getp(), Array< T >::hermitian(), idx_vector::idx_vector_rep::idx_vector_rep(), octave_value::int_vector_value(), idx_vector::inverse_permutation(), kron(), SparseMatrix::ltsolve(), SparseComplexMatrix::ltsolve(), LuAminusSigmaB(), octave_value::octave_idx_type_vector_value(), octave_jit_paren_scalar(), octave_jit_paren_scalar_subsasgn(), octave_jit_paren_subsasgn_matrix_range(), octave_scalar_map::orderfields(), octave_map::orderfields(), octave::math::sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::P(), octave::math::lu< T >::P_vec(), octave::math::sparse_lu< lu_type >::Pc_vec(), octave_base_diag< DiagMatrix, Matrix >::permute(), octave::math::sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::Pinv(), octave::math::sparse_lu< lu_type >::Pr_vec(), put_int(), qs_search(), read_mat_binary_data(), row_norms(), intNDArray< T >::signum(), idx_vector::idx_range_rep::sort_idx(), idx_vector::idx_mask_rep::sort_idx(), SparseBoolMatrix::sum(), octave::math::sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::tall_solve(), PermMatrix::transpose(), Array< T >::transpose(), idx_vector::idx_vector_rep::unconvert(), idx_vector::idx_mask_rep::unconvert(), SparseComplexMatrix::utsolve(), SparseMatrix::utsolve(), octave::math::sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::wide_solve(), DiagArray2< Complex >::xelem(), and xgemm().

template<typename T>
crefT Array< T >::xelem ( octave_idx_type  n) const
inline

Definition at line 456 of file Array.h.

template<typename T>
T& Array< T >::xelem ( octave_idx_type  i,
octave_idx_type  j 
)
inline

Definition at line 458 of file Array.h.

template<typename T>
crefT Array< T >::xelem ( octave_idx_type  i,
octave_idx_type  j 
) const
inline

Definition at line 460 of file Array.h.

template<typename T>
T& Array< T >::xelem ( octave_idx_type  i,
octave_idx_type  j,
octave_idx_type  k 
)
inline

Definition at line 463 of file Array.h.

template<typename T>
crefT Array< T >::xelem ( octave_idx_type  i,
octave_idx_type  j,
octave_idx_type  k 
) const
inline

Definition at line 465 of file Array.h.

template<typename T>
T& Array< T >::xelem ( const Array< octave_idx_type > &  ra_idx)
inline

Definition at line 468 of file Array.h.

template<typename T>
crefT Array< T >::xelem ( const Array< octave_idx_type > &  ra_idx) const
inline

Definition at line 471 of file Array.h.

Friends And Related Function Documentation

template<typename T>
template<typename U >
friend class Array
friend

Definition at line 834 of file Array.h.

Member Data Documentation

template<typename T>
dim_vector Array< T >::dimensions
protected
template<typename T>
Array<T>::ArrayRep* Array< T >::rep
protected
template<typename T>
T* Array< T >::slice_data
protected
template<typename T>
octave_idx_type Array< T >::slice_len
protected

Definition at line 226 of file Array.h.

Referenced by Array< octave_value >::operator=().


The documentation for this singleton was generated from the following files: