GNU Octave  8.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
Array< T, Alloc > Class Template Reference

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

#include "Array.h"

Inheritance diagram for Array< T, Alloc >:
Collaboration diagram for Array< T, Alloc >:

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 (Array< T, Alloc > &&a)
 
 Array (const Array< T, Alloc > &a)
 No type conversion case. More...
 
OCTARRAY_API Array (const Array< T, Alloc > &a, const dim_vector &dv)
 Reshape constructor. More...
 
template<typename U , typename A = Alloc>
 Array (const Array< U, A > &a)
 Type conversion case. More...
 
template<template< typename... > class Container>
 Array (const Container< T > &a, const dim_vector &dv)
 Constructor from standard library sequence containers. More...
 
 Array (const dim_vector &dv)
 nD uninitialized ctor. More...
 
 Array (const dim_vector &dv, const T &val)
 nD initialized ctor. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API Array (T *ptr, const dim_vector &dv, const Alloc &xallocator=Alloc())
 
 Array (void)
 Empty ctor (0 by 0). More...
 
virtual ~Array (void)
 
OCTARRAY_OVERRIDABLE_FUNC_API Array< T, Allocas_column (void) const
 Return the array as a column vector. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API Array< T, Allocas_matrix (void) const
 Return the array as a matrix. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API Array< T, Allocas_row (void) const
 Return the array as a row vector. More...
 
OCTARRAY_API void clear (const dim_vector &dv)
 
void clear (octave_idx_type r, octave_idx_type c)
 
OCTARRAY_API void clear (void)
 
OCTARRAY_API void fill (const T &val)
 
OCTINTERP_API Array< octave_idx_typefind (octave_idx_type, bool) const
 
OCTAVE_API Array< octave_idx_typefind (octave_idx_type, bool) const
 
OCTINTERP_API sortmode is_sorted_rows (sortmode) const
 
OCTAVE_API sortmode is_sorted_rows (sortmode) const
 
OCTAVE_API sortmode issorted (sortmode mode) const
 
OCTINTERP_API sortmode issorted (sortmode) const
 
OCTAVE_API sortmode issorted (sortmode) const
 
OCTINTERP_API Array< octave_idx_typelookup (const Array< octave::cdef_object > &, sortmode) const
 
OCTAVE_API Array< octave_idx_typelookup (const Array< octave::idx_vector > &, sortmode) const
 
OCTINTERP_API octave_idx_type lookup (octave::cdef_object const &, sortmode) const
 
OCTAVE_API octave_idx_type lookup (octave::idx_vector const &, sortmode) const
 
OCTARRAY_OVERRIDABLE_FUNC_API void make_unique (void)
 
OCTINTERP_API octave_idx_type nnz (void) const
 
OCTAVE_API octave_idx_type nnz (void) const
 
OCTINTERP_API Array< octave::cdef_objectnth_element (const octave::idx_vector &, int) const
 
OCTAVE_API Array< octave::idx_vectornth_element (const octave::idx_vector &, int) const
 
OCTARRAY_OVERRIDABLE_FUNC_API octave_idx_type numel (void) const
 Number of elements in the array. More...
 
Array< T, Alloc > & operator= (Array< T, Alloc > &&a)
 
Array< T, Alloc > & operator= (const Array< T, Alloc > &a)
 
OCTINTERP_API Array< octave::cdef_objectsort (Array< octave_idx_type > &sidx, int, sortmode) const
 
OCTAVE_API Array< octave::idx_vectorsort (Array< octave_idx_type > &sidx, int, sortmode) const
 
OCTINTERP_API Array< octave::cdef_objectsort (int, sortmode) const
 
OCTAVE_API Array< octave::idx_vectorsort (int, sortmode) const
 
OCTINTERP_API Array< octave_idx_typesort_rows_idx (sortmode) const
 
OCTAVE_API Array< octave_idx_typesort_rows_idx (sortmode) const
 
First dimension

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

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

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

OCTARRAY_OVERRIDABLE_FUNC_API octave_idx_type dim2 (void) const
 
OCTARRAY_OVERRIDABLE_FUNC_API octave_idx_type cols (void) const
 
OCTARRAY_OVERRIDABLE_FUNC_API octave_idx_type columns (void) const
 

Protected Member Functions

 Array (const Array< T, Alloc > &a, const dim_vector &dv, octave_idx_type l, octave_idx_type u)
 slice constructor More...
 

Protected Attributes

dim_vector m_dimensions
 
Array< T, Alloc >::ArrayRepm_rep
 
T * m_slice_data
 
octave_idx_type m_slice_len
 

Private Member Functions

OCTINTERP_CLASS_TEMPLATE_INSTANTIATION_API void instantiation_guard ()
 
OCTAVE_CLASS_TEMPLATE_INSTANTIATION_API void instantiation_guard ()
 
OCTAVE_CLASS_TEMPLATE_INSTANTIATION_API void instantiation_guard ()
 
OCTAVE_CLASS_TEMPLATE_INSTANTIATION_API void instantiation_guard ()
 
OCTAVE_CLASS_TEMPLATE_INSTANTIATION_API void instantiation_guard ()
 
OCTAVE_CLASS_TEMPLATE_INSTANTIATION_API void instantiation_guard ()
 
OCTAVE_CLASS_TEMPLATE_INSTANTIATION_API void instantiation_guard ()
 
OCTAVE_CLASS_TEMPLATE_INSTANTIATION_API void instantiation_guard ()
 
OCTAVE_CLASS_TEMPLATE_INSTANTIATION_API void instantiation_guard ()
 
OCTAVE_CLASS_TEMPLATE_INSTANTIATION_API void instantiation_guard ()
 
OCTAVE_CLASS_TEMPLATE_INSTANTIATION_API void instantiation_guard ()
 
OCTAVE_CLASS_TEMPLATE_INSTANTIATION_API void instantiation_guard ()
 
OCTAVE_CLASS_TEMPLATE_INSTANTIATION_API void instantiation_guard ()
 
OCTAVE_CLASS_TEMPLATE_INSTANTIATION_API void instantiation_guard ()
 
OCTAVE_CLASS_TEMPLATE_INSTANTIATION_API void instantiation_guard ()
 
OCTAVE_CLASS_TEMPLATE_INSTANTIATION_API void instantiation_guard ()
 
OCTAVE_CLASS_TEMPLATE_INSTANTIATION_API void instantiation_guard ()
 
OCTAVE_CLASS_TEMPLATE_INSTANTIATION_API void instantiation_guard ()
 
OCTAVE_CLASS_TEMPLATE_INSTANTIATION_API void instantiation_guard ()
 
OCTAVE_CLASS_TEMPLATE_INSTANTIATION_API void instantiation_guard ()
 

Static Private Member Functions

static OCTARRAY_API Array< T, Alloc >::ArrayRepnil_rep (void)
 

Third dimension

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

template<typename U , typename A >
class Array
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API octave_idx_type dim3 (void) const
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API octave_idx_type pages (void) const
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API size_type size (const size_type d) const
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API std::size_t byte_size (void) const
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API const dim_vectordims (void) const
 Return a const-reference so that dims ()(i) works efficiently. More...
 
OCTARRAY_API Array< T, Allocsqueeze (void) const
 Chop off leading singleton dimensions. More...
 
OCTARRAY_API octave_idx_type compute_index (octave_idx_type i, octave_idx_type j) const
 Size of the specified dimension. More...
 
OCTARRAY_API octave_idx_type compute_index (octave_idx_type i, octave_idx_type j, octave_idx_type k) const
 Size of the specified dimension. More...
 
OCTARRAY_API octave_idx_type compute_index (const Array< octave_idx_type > &ra_idx) const
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API octave_idx_type compute_index_unchecked (const Array< octave_idx_type > &ra_idx) const
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API T & xelem (octave_idx_type n)
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API crefT xelem (octave_idx_type n) const
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API T & xelem (octave_idx_type i, octave_idx_type j)
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API crefT xelem (octave_idx_type i, octave_idx_type j) const
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API T & xelem (octave_idx_type i, octave_idx_type j, octave_idx_type k)
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API crefT xelem (octave_idx_type i, octave_idx_type j, octave_idx_type k) const
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API T & xelem (const Array< octave_idx_type > &ra_idx)
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API crefT xelem (const Array< octave_idx_type > &ra_idx) const
 Size of the specified dimension. More...
 
OCTARRAY_API T & checkelem (octave_idx_type n)
 Size of the specified dimension. More...
 
OCTARRAY_API T & checkelem (octave_idx_type i, octave_idx_type j)
 Size of the specified dimension. More...
 
OCTARRAY_API T & checkelem (octave_idx_type i, octave_idx_type j, octave_idx_type k)
 Size of the specified dimension. More...
 
OCTARRAY_API T & checkelem (const Array< octave_idx_type > &ra_idx)
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API T & elem (octave_idx_type n)
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API T & elem (octave_idx_type i, octave_idx_type j)
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API T & elem (octave_idx_type i, octave_idx_type j, octave_idx_type k)
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API T & elem (const Array< octave_idx_type > &ra_idx)
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API T & operator() (octave_idx_type n)
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API T & operator() (octave_idx_type i, octave_idx_type j)
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API T & operator() (octave_idx_type i, octave_idx_type j, octave_idx_type k)
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API T & operator() (const Array< octave_idx_type > &ra_idx)
 Size of the specified dimension. More...
 
OCTARRAY_API crefT checkelem (octave_idx_type n) const
 Size of the specified dimension. More...
 
OCTARRAY_API crefT checkelem (octave_idx_type i, octave_idx_type j) const
 Size of the specified dimension. More...
 
OCTARRAY_API crefT checkelem (octave_idx_type i, octave_idx_type j, octave_idx_type k) const
 Size of the specified dimension. More...
 
OCTARRAY_API crefT checkelem (const Array< octave_idx_type > &ra_idx) const
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API crefT elem (octave_idx_type n) const
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API crefT elem (octave_idx_type i, octave_idx_type j) const
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API crefT elem (octave_idx_type i, octave_idx_type j, octave_idx_type k) const
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API crefT elem (const Array< octave_idx_type > &ra_idx) const
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API crefT operator() (octave_idx_type n) const
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API crefT operator() (octave_idx_type i, octave_idx_type j) const
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API crefT operator() (octave_idx_type i, octave_idx_type j, octave_idx_type k) const
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API crefT operator() (const Array< octave_idx_type > &ra_idx) const
 Size of the specified dimension. More...
 
OCTARRAY_API Array< T, Alloccolumn (octave_idx_type k) const
 Extract column: A(:,k+1). More...
 
OCTARRAY_API Array< T, Allocpage (octave_idx_type k) const
 Extract page: A(:,:,k+1). More...
 
OCTARRAY_API Array< T, Alloclinear_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...
 
OCTARRAY_OVERRIDABLE_FUNC_API Array< T, Allocreshape (octave_idx_type nr, octave_idx_type nc) const
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API Array< T, Allocreshape (const dim_vector &new_dims) const
 Size of the specified dimension. More...
 
OCTARRAY_API Array< T, Allocpermute (const Array< octave_idx_type > &vec, bool inv=false) const
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API Array< T, Allocipermute (const Array< octave_idx_type > &vec) const
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API bool issquare (void) const
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API bool isempty (void) const
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API bool isvector (void) const
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API bool is_nd_vector (void) const
 Size of the specified dimension. More...
 
OCTARRAY_API Array< T, Alloctranspose (void) const
 Size of the specified dimension. More...
 
OCTARRAY_API Array< T, Allochermitian (T(*fcn)(const T &)=nullptr) const
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API const T * data (void) const
 Size of the specified dimension. More...
 
OCTARRAY_API T * fortran_vec (void)
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API bool is_shared (void) const
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API int ndims (void) const
 Size of the specified dimension. More...
 
OCTARRAY_API Array< T, Allocindex (const octave::idx_vector &i) const
 Indexing without resizing. More...
 
OCTARRAY_API Array< T, Allocindex (const octave::idx_vector &i, const octave::idx_vector &j) const
 Size of the specified dimension. More...
 
OCTARRAY_API Array< T, Allocindex (const Array< octave::idx_vector > &ia) const
 Size of the specified dimension. More...
 
virtual OCTARRAY_API T resize_fill_value (void) const
 Size of the specified dimension. More...
 
OCTARRAY_API void resize2 (octave_idx_type nr, octave_idx_type nc, const T &rfv)
 Resizing (with fill). More...
 
OCTARRAY_OVERRIDABLE_FUNC_API void resize2 (octave_idx_type nr, octave_idx_type nc)
 Size of the specified dimension. More...
 
OCTARRAY_API void resize1 (octave_idx_type n, const T &rfv)
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API void resize1 (octave_idx_type n)
 Size of the specified dimension. More...
 
OCTARRAY_API void resize (const dim_vector &dv, const T &rfv)
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API void resize (const dim_vector &dv)
 Size of the specified dimension. More...
 
OCTARRAY_API Array< T, Allocindex (const octave::idx_vector &i, bool resize_ok, const T &rfv) const
 Indexing with possible resizing and fill. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API Array< T, Allocindex (const octave::idx_vector &i, bool resize_ok) const
 Size of the specified dimension. More...
 
OCTARRAY_API Array< T, Allocindex (const octave::idx_vector &i, const octave::idx_vector &j, bool resize_ok, const T &rfv) const
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API Array< T, Allocindex (const octave::idx_vector &i, const octave::idx_vector &j, bool resize_ok) const
 Size of the specified dimension. More...
 
OCTARRAY_API Array< T, Allocindex (const Array< octave::idx_vector > &ia, bool resize_ok, const T &rfv) const
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API Array< T, Allocindex (const Array< octave::idx_vector > &ia, bool resize_ok) const
 Size of the specified dimension. More...
 
OCTARRAY_API void assign (const octave::idx_vector &i, const Array< T, Alloc > &rhs, const T &rfv)
 Indexed assignment (always with resize & fill). More...
 
OCTARRAY_OVERRIDABLE_FUNC_API void assign (const octave::idx_vector &i, const Array< T, Alloc > &rhs)
 Size of the specified dimension. More...
 
OCTARRAY_API void assign (const octave::idx_vector &i, const octave::idx_vector &j, const Array< T, Alloc > &rhs, const T &rfv)
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API void assign (const octave::idx_vector &i, const octave::idx_vector &j, const Array< T, Alloc > &rhs)
 Size of the specified dimension. More...
 
OCTARRAY_API void assign (const Array< octave::idx_vector > &ia, const Array< T, Alloc > &rhs, const T &rfv)
 Size of the specified dimension. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API void assign (const Array< octave::idx_vector > &ia, const Array< T, Alloc > &rhs)
 Size of the specified dimension. More...
 
OCTARRAY_API void delete_elements (const octave::idx_vector &i)
 Deleting elements. More...
 
OCTARRAY_API void delete_elements (int dim, const octave::idx_vector &i)
 A(:,...,I,...,:) = [] (>= 2 subscripts, one of them is non-colon) More...
 
OCTARRAY_API void delete_elements (const Array< octave::idx_vector > &ia)
 Dispatcher to the above two. More...
 
OCTARRAY_API Array< T, Alloc > & insert (const Array< T, Alloc > &a, const Array< octave_idx_type > &idx)
 Insert an array into another at a specified position. More...
 
OCTARRAY_API Array< T, Alloc > & insert (const Array< T, Alloc > &a, octave_idx_type r, octave_idx_type c)
 This is just a special case for idx = [r c 0 ...]. More...
 
OCTARRAY_OVERRIDABLE_FUNC_API void maybe_economize (void)
 Size of the specified dimension. More...
 
OCTARRAY_API void print_info (std::ostream &os, const std::string &prefix) const
 Size of the specified dimension. More...
 
OCTARRAY_API Array< T, Allocsort (int dim=0, sortmode mode=ASCENDING) const
 Size of the specified dimension. More...
 
OCTARRAY_API Array< T, Allocsort (Array< octave_idx_type > &sidx, int dim=0, sortmode mode=ASCENDING) const
 Size of the specified dimension. More...
 
OCTARRAY_API sortmode issorted (sortmode mode=UNSORTED) const
 Ordering is auto-detected or can be specified. More...
 
OCTARRAY_API Array< octave_idx_typesort_rows_idx (sortmode mode=ASCENDING) const
 Sort by rows returns only indices. More...
 
OCTARRAY_API sortmode is_sorted_rows (sortmode mode=UNSORTED) const
 Ordering is auto-detected or can be specified. More...
 
OCTARRAY_API octave_idx_type lookup (const T &value, sortmode mode=UNSORTED) const
 Do a binary lookup in a sorted array. More...
 
OCTARRAY_API Array< octave_idx_typelookup (const Array< T, Alloc > &values, sortmode mode=UNSORTED) const
 Ditto, but for an array of values, specializing on the case when values are sorted. More...
 
OCTARRAY_API octave_idx_type nnz (void) const
 Count nonzero elements. More...
 
OCTARRAY_API Array< octave_idx_typefind (octave_idx_type n=-1, bool backward=false) const
 Find indices of (at most n) nonzero elements. More...
 
OCTARRAY_API Array< T, Allocnth_element (const octave::idx_vector &n, int dim=0) const
 Returns the n-th element in increasing order, using the same ordering as used for sort. More...
 
OCTARRAY_API Array< T, Allocdiag (octave_idx_type k=0) const
 Get the kth super or subdiagonal. More...
 
OCTARRAY_API Array< T, Allocdiag (octave_idx_type m, octave_idx_type n) const
 Size of the specified dimension. More...
 
template<typename U , typename F , typename A = std::allocator<U>>
Array< U, Amap (F fcn) const
 Apply function fcn to each element of the Array<T, Alloc>. More...
 
template<typename U , typename A = std::allocator<U>>
Array< U, Amap (U(&fcn)(T)) const
 Overloads for function references. More...
 
template<typename U , typename A = std::allocator<U>>
Array< U, Amap (U(&fcn)(const T &)) const
 Size of the specified dimension. More...
 
template<typename F , bool zero>
bool test (F fcn) const
 Generic any/all test functionality with arbitrary predicate. More...
 
template<typename F >
bool test_any (F fcn) const
 Simpler calls. More...
 
template<typename F >
bool test_all (F fcn) const
 Size of the specified dimension. More...
 
bool test_any (bool(&fcn)(T)) const
 Overloads for function references. More...
 
bool test_any (bool(&fcn)(const T &)) const
 Size of the specified dimension. More...
 
bool test_all (bool(&fcn)(T)) const
 Size of the specified dimension. More...
 
bool test_all (bool(&fcn)(const T &)) const
 Size of the specified dimension. More...
 
OCTARRAY_API bool optimize_dimensions (const dim_vector &dv)
 Returns true if this->dims () == dv, and if so, replaces this->m_dimensions by a shallow copy of dv. More...
 
static OCTARRAY_API void instantiation_guard ()
 Size of the specified dimension. More...
 
static OCTARRAY_API Array< T, Alloccat (int dim, octave_idx_type n, const Array< T, Alloc > *array_list)
 Concatenation along a specified (0-based) dimension, equivalent to cat(). More...
 

Detailed Description

template<typename T, typename Alloc>
class Array< T, Alloc >

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 (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);
Vector representing the dimensions (size) of an Array.
Definition: dim-vector.h:94
F77_RET_T const F77_INT F77_CMPLX * A

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 ();
OCTARRAY_OVERRIDABLE_FUNC_API const dim_vector & dims(void) const
Return a const-reference so that dims ()(i) works efficiently.
Definition: Array.h:503
octave_idx_type n
Definition: mx-inlines.cc:753

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 explicit 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 127 of file Array.h.

Member Typedef Documentation

◆ compare_fcn_type

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

Definition at line 240 of file Array.h.

◆ crefT

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

Definition at line 238 of file Array.h.

◆ element_type

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

Definition at line 230 of file Array.h.

◆ size_type

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

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

Definition at line 236 of file Array.h.

◆ value_type

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

Definition at line 232 of file Array.h.

Constructor & Destructor Documentation

◆ Array() [1/10]

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

slice constructor

Definition at line 260 of file Array.h.

References dim_vector::chop_trailing_singletons(), and Array< T, Alloc >::ArrayRep::m_count.

◆ Array() [2/10]

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

Empty ctor (0 by 0).

Definition at line 275 of file Array.h.

References Array< T, Alloc >::ArrayRep::m_count.

◆ Array() [3/10]

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

nD uninitialized ctor.

Definition at line 283 of file Array.h.

References dim_vector::chop_trailing_singletons().

◆ Array() [4/10]

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

nD initialized ctor.

Definition at line 292 of file Array.h.

References dim_vector::chop_trailing_singletons().

◆ Array() [5/10]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API Array< T, Alloc >::Array ( T *  ptr,
const dim_vector dv,
const Alloc xallocator = Alloc () 
)
inlineexplicit

Definition at line 308 of file Array.h.

References dim_vector::chop_trailing_singletons().

◆ Array() [6/10]

template<typename T , typename Alloc >
Array< T, Alloc >::Array ( const Array< T, Alloc > &  a,
const dim_vector dv 
)

◆ Array() [7/10]

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

Constructor from standard library sequence containers.

Definition at line 963 of file Array.h.

References dim_vector::chop_trailing_singletons(), Array< T, Alloc >::m_dimensions, Array< T, Alloc >::m_slice_data, dim_vector::safe_numel(), dim_vector::str(), and x.

◆ Array() [8/10]

template<typename T , typename Alloc >
template<typename U , typename A = Alloc>
Array< T, Alloc >::Array ( const Array< U, A > &  a)
inline

Type conversion case.

Definition at line 326 of file Array.h.

◆ Array() [9/10]

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

No type conversion case.

Definition at line 333 of file Array.h.

References Array< T, Alloc >::ArrayRep::m_count.

◆ Array() [10/10]

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

Definition at line 340 of file Array.h.

◆ ~Array()

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

Definition at line 351 of file Array.h.

References Array< T, Alloc >::ArrayRep::m_count.

Member Function Documentation

◆ as_column()

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

Return the array as a column vector.

Definition at line 420 of file Array.h.

References Array< T, Alloc >::m_dimensions, dim_vector::ndims(), and numel().

◆ as_matrix()

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

Return the array as a matrix.

Definition at line 442 of file Array.h.

References Array< T, Alloc >::m_dimensions, dim_vector::ndims(), and dim_vector::redim().

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

◆ as_row()

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

Return the array as a row vector.

Definition at line 431 of file Array.h.

References Array< T, Alloc >::m_dimensions, dim_vector::ndims(), and numel().

◆ assign() [1/6]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API void Array< T, Alloc >::assign ( const Array< octave::idx_vector > &  ia,
const Array< T, Alloc > &  rhs 
)
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 765 of file Array.h.

◆ assign() [2/6]

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

◆ assign() [3/6]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API void Array< T, Alloc >::assign ( const octave::idx_vector i,
const Array< T, Alloc > &  rhs 
)
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 747 of file Array.h.

◆ assign() [4/6]

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

◆ assign() [5/6]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API void Array< T, Alloc >::assign ( const octave::idx_vector i,
const octave::idx_vector j,
const Array< T, Alloc > &  rhs 
)
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 756 of file Array.h.

◆ assign() [6/6]

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

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 1184 of file Array-base.cc.

References dim_vector::chop_all_singletons(), Array< T, Alloc >::data(), Array< T, Alloc >::dim1(), Array< T, Alloc >::dim2(), Array< T, Alloc >::dims(), err_nonconformant(), n, dim_vector::ndims(), numel(), Array< T, Alloc >::numel(), r, dim_vector::redim(), Array< T, Alloc >::reshape(), dim_vector::zero_by_zero(), and zero_dims_inquire().

◆ byte_size()

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API std::size_t Array< T, Alloc >::byte_size ( void  ) 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 499 of file Array.h.

References numel().

Referenced by octave_cell::byte_size(), DiagArray2< T >::byte_size(), PermMatrix::byte_size(), and octave_perm_matrix::save_binary().

◆ cat()

template<typename T , typename Alloc >
Array< T, Alloc > Array< T, Alloc >::cat ( int  dim,
octave_idx_type  n,
const Array< T, Alloc > *  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 2645 of file Array-base.cc.

References dim_vector::concat(), Array< T, Alloc >::dims(), dim_vector::hvcat(), max(), n, dim_vector::ndims(), and dim_vector::zero_by_zero().

Referenced by single_type_concat().

◆ checkelem() [1/8]

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

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 241 of file Array-base.cc.

References compute_index(), elem, and ra_idx.

◆ checkelem() [2/8]

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

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 276 of file Array-base.cc.

References compute_index(), elem, and ra_idx.

◆ checkelem() [3/8]

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

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 227 of file Array-base.cc.

References compute_index(), and elem.

◆ checkelem() [4/8]

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

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 261 of file Array-base.cc.

References compute_index(), and elem.

◆ checkelem() [5/8]

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

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 234 of file Array-base.cc.

References compute_index(), and elem.

◆ checkelem() [6/8]

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

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 268 of file Array-base.cc.

◆ checkelem() [7/8]

◆ checkelem() [8/8]

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

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 248 of file Array-base.cc.

References elem, err_index_out_of_range(), err_invalid_index(), and n.

◆ clear() [1/3]

template<typename T , typename Alloc >
void Array< T, Alloc >::clear ( const dim_vector dv)

◆ clear() [2/3]

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

Definition at line 409 of file Array.h.

References r.

◆ clear() [3/3]

◆ cols()

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

Definition at line 469 of file Array.h.

Referenced by aepbalance< MT >::aepbalance(), ComplexMatrix::ComplexMatrix(), FloatComplexMatrix::FloatComplexMatrix(), FloatMatrix::FloatMatrix(), Matrix::Matrix(), airy(), FloatComplexMatrix::append(), FloatMatrix::append(), ComplexMatrix::append(), Matrix::append(), biry(), SparseComplexMatrix::bsolve(), SparseMatrix::bsolve(), sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::C(), ComplexMatrix::column_max(), FloatComplexMatrix::column_max(), FloatMatrix::column_max(), ComplexMatrix::column_min(), FloatComplexMatrix::column_min(), FloatMatrix::column_min(), conj(), ComplexMatrix::determinant(), FloatComplexMatrix::determinant(), FloatMatrix::determinant(), ComplexMatrix::diag(), FloatComplexMatrix::diag(), FloatMatrix::diag(), dmsolve_insert(), dmsolve_permute(), do_bessel(), drawcn(), SparseComplexMatrix::dsolve(), SparseMatrix::dsolve(), elem_xpow(), ComplexMatrix::fill(), FloatComplexMatrix::fill(), FloatMatrix::fill(), ComplexMatrix::finverse(), FloatComplexMatrix::finverse(), FloatMatrix::finverse(), ComplexMatrix::fourier(), FloatComplexMatrix::fourier(), FloatMatrix::fourier(), ComplexMatrix::fourier2d(), FloatComplexMatrix::fourier2d(), FloatMatrix::fourier2d(), ComplexMatrix::fsolve(), FloatComplexMatrix::fsolve(), FloatMatrix::fsolve(), Matrix::fsolve(), SparseComplexMatrix::fsolve(), SparseMatrix::fsolve(), EIG::hermitian_init(), FloatEIG::hermitian_init(), ComplexMatrix::ifourier(), FloatComplexMatrix::ifourier(), FloatMatrix::ifourier(), ComplexMatrix::ifourier2d(), FloatComplexMatrix::ifourier2d(), FloatMatrix::ifourier2d(), Sparse< T, Alloc >::index(), FloatEIG::init(), hess< T >::init(), EIG::init(), chol< T >::init(), gepbalance< T >::init(), schur< T >::init(), qr< T >::init(), qrp< T >::init(), FloatComplexMatrix::insert(), FloatMatrix::insert(), ComplexMatrix::insert(), qr< T >::insert_col(), FloatComplexMatrix::ishermitian(), FloatMatrix::issymmetric(), kron(), ComplexMatrix::lssolve(), FloatComplexMatrix::lssolve(), FloatMatrix::lssolve(), Matrix::lssolve(), ComplexMatrix::ltsolve(), FloatComplexMatrix::ltsolve(), FloatMatrix::ltsolve(), Matrix::ltsolve(), SparseComplexMatrix::ltsolve(), SparseMatrix::ltsolve(), LuAminusSigmaB(), make_cholb(), mark_facets(), matrix_real_probe(), octave_print_internal(), octave_print_internal_template(), ComplexMatrix::operator+=(), FloatComplexMatrix::operator+=(), FloatMatrix::operator+=(), ComplexMatrix::operator-=(), FloatComplexMatrix::operator-=(), FloatMatrix::operator-=(), boolMatrix::operator==(), charMatrix::operator==(), ComplexMatrix::operator==(), FloatComplexMatrix::operator==(), FloatMatrix::operator==(), Matrix::operator==(), ComplexMatrix::pseudo_inverse(), FloatComplexMatrix::pseudo_inverse(), FloatMatrix::pseudo_inverse(), ComplexMatrix::rcond(), FloatComplexMatrix::rcond(), FloatMatrix::rcond(), ComplexMatrix::row_max(), FloatComplexMatrix::row_max(), FloatMatrix::row_max(), ComplexMatrix::row_min(), FloatComplexMatrix::row_min(), FloatMatrix::row_min(), octave_cell::save_ascii(), octave_char_matrix_str::save_ascii(), save_mat_binary_data(), FloatComplexMatrix::stack(), FloatMatrix::stack(), ComplexMatrix::stack(), Matrix::stack(), stack_complex_matrix(), FloatEIG::symmetric_init(), EIG::symmetric_init(), ComplexMatrix::tinverse(), FloatComplexMatrix::tinverse(), FloatMatrix::tinverse(), SparseComplexMatrix::trisolve(), SparseMatrix::trisolve(), octave_bool_matrix::try_narrowing_conversion(), unstack_complex_matrix(), qr< T >::update(), Table::updateColumnname(), Table::updateRowname(), ComplexMatrix::utsolve(), FloatComplexMatrix::utsolve(), FloatMatrix::utsolve(), Matrix::utsolve(), SparseComplexMatrix::utsolve(), SparseMatrix::utsolve(), xgemm(), and xpow().

◆ column()

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

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

Definition at line 283 of file Array-base.cc.

References r.

◆ columns()

◆ compute_index() [1/3]

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

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 207 of file Array-base.cc.

References compute_index(), and ra_idx.

◆ compute_index() [2/3]

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

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 192 of file Array-base.cc.

References compute_index().

◆ compute_index() [3/3]

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

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 199 of file Array-base.cc.

References compute_index().

◆ compute_index_unchecked()

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API octave_idx_type Array< T, Alloc >::compute_index_unchecked ( const Array< octave_idx_type > &  ra_idx) 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 517 of file Array.h.

References dim_vector::compute_index(), octave_base_value::numel(), and ra_idx.

◆ data()

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API const T* Array< T, Alloc >::data ( void  ) 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 663 of file Array.h.

Referenced by Cell::Cell(), idx_vector::idx_mask_rep::idx_mask_rep(), NDArray::NDArray(), mxArray_octave_value::array_to_string(), octave_bool_matrix::as_mxArray(), octave_cell::as_mxArray(), octave_char_matrix::as_mxArray(), octave_complex_matrix::as_mxArray(), octave_float_complex_matrix::as_mxArray(), octave_float_matrix::as_mxArray(), ov_range< T >::as_mxArray(), octave_matrix::as_mxArray(), octave_struct::as_mxArray(), octave_scalar_struct::as_mxArray(), Array< T, Alloc >::assign(), binmap(), blkmm_internal(), sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::C(), convert_cdata(), convolve(), DiagArray2< T >::data(), dmsolve_insert(), dmsolve_permute(), do_bitpack(), do_bsxfun_op(), do_merge(), do_mm_binary_op(), do_mx_check(), do_sm_binary_op(), do_tril(), do_triu(), opengl_selector::draw_image(), opengl_renderer::draw_patch(), opengl_renderer::draw_surface(), encode_bool_image(), encode_indexed_images(), F__native2unicode__(), F__pchip_deriv__(), F__unicode2native__(), F__unicode_length__(), opengl_selector::fake_text(), Fbase64_encode(), Fdot(), Fellipj(), filter(), Fordschur(), ComplexNDArray::fourier(), FloatComplexNDArray::fourier(), FloatNDArray::fourier(), ComplexMatrix::fourier(), FloatComplexMatrix::fourier(), FloatMatrix::fourier(), ComplexMatrix::fourier2d(), ComplexNDArray::fourier2d(), FloatComplexMatrix::fourier2d(), FloatMatrix::fourier2d(), FloatNDArray::fourier2d(), ComplexNDArray::fourierNd(), FloatComplexNDArray::fourierNd(), FloatNDArray::fourierNd(), SparseComplexMatrix::fsolve(), SparseMatrix::fsolve(), Funicode_idx(), mxArray_octave_value::get_string(), MArray< T >::idx_add(), MArray< T >::idx_add_nd(), MArray< T >::idx_max(), ComplexNDArray::ifourier(), FloatComplexNDArray::ifourier(), ComplexMatrix::ifourier(), Matrix::ifourier(), FloatComplexMatrix::ifourier(), ComplexMatrix::ifourier2d(), ComplexNDArray::ifourier2d(), FloatComplexMatrix::ifourier2d(), FloatComplexNDArray::ifourier2d(), ComplexNDArray::ifourierNd(), FloatComplexNDArray::ifourierNd(), octave_char_matrix::index_vector(), qr< T >::insert_col(), kron(), Array< T, Alloc >::lookup(), ComplexMatrix::ltsolve(), FloatComplexMatrix::ltsolve(), FloatMatrix::ltsolve(), LuAminusSigmaB(), maybe_convert_to_u16(), octave_cell::mex_get_data(), num2hex(), octinternal_do_mul_pm_sm(), octinternal_do_mul_sm_pm(), operator*(), ComplexColumnVector::operator+=(), FloatComplexColumnVector::operator+=(), FloatComplexMatrix::operator+=(), FloatComplexRowVector::operator+=(), ComplexMatrix::operator+=(), ComplexRowVector::operator+=(), ComplexColumnVector::operator-=(), FloatComplexColumnVector::operator-=(), FloatComplexMatrix::operator-=(), FloatComplexRowVector::operator-=(), ComplexMatrix::operator-=(), ComplexRowVector::operator-=(), boolMatrix::operator==(), charMatrix::operator==(), ColumnVector::operator==(), ComplexColumnVector::operator==(), ComplexMatrix::operator==(), ComplexRowVector::operator==(), FloatColumnVector::operator==(), FloatComplexColumnVector::operator==(), FloatComplexMatrix::operator==(), FloatComplexRowVector::operator==(), FloatMatrix::operator==(), FloatRowVector::operator==(), Matrix::operator==(), RowVector::operator==(), qs_preprocess(), qs_replace(), qs_search(), ComplexMatrix::rcond(), FloatComplexMatrix::rcond(), FloatMatrix::rcond(), read_indexed_images(), read_mat5_binary_element(), octave_perm_matrix::save_binary(), save_mat5_binary_element(), opengl_renderer::set_clipbox(), opengl_renderer::set_color(), rand::set_internal_state(), opengl_renderer::setup_opengl_transformation(), stack_complex_matrix(), unstack_complex_matrix(), lu< T >::update_piv(), ComplexMatrix::utsolve(), FloatComplexMatrix::utsolve(), FloatMatrix::utsolve(), opengl_renderer::patch_tessellator::vertex(), stream::write(), and xgemm().

◆ delete_elements() [1/3]

template<typename T , typename Alloc >
void Array< T, Alloc >::delete_elements ( const Array< octave::idx_vector > &  ia)

Dispatcher to the above two.

Definition at line 1512 of file Array-base.cc.

References Array< T, Alloc >::numel().

◆ delete_elements() [2/3]

template<typename T , typename Alloc >
void Array< T, Alloc >::delete_elements ( const octave::idx_vector i)

Deleting elements.

A(I) = [] (with a single subscript)

Definition at line 1416 of file Array-base.cc.

References err_del_index_out_of_range(), Array< T, Alloc >::fortran_vec(), m, n, and numel().

Referenced by octave_map::delete_elements(), and Cell::delete_elements().

◆ delete_elements() [3/3]

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

A(:,...,I,...,:) = [] (>= 2 subscripts, one of them is non-colon)

Definition at line 1456 of file Array-base.cc.

References err_del_index_out_of_range(), Array< T, Alloc >::fortran_vec(), and n.

◆ diag() [1/2]

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

Get the kth super or subdiagonal.

The zeroth diagonal is the ordinary diagonal.

Definition at line 2543 of file Array-base.cc.

References abs(), d, elem, n, and dim_vector::ndims().

Referenced by range< T, typename std::enable_if< std::is_floating_point< T >::value >::type >::diag(), Cell::diag(), octave_base_scalar< ST >::diag(), boolMatrix::diag(), boolNDArray::diag(), and charNDArray::diag().

◆ diag() [2/2]

template<typename T , typename Alloc >
Array< T, Alloc > Array< T, Alloc >::diag ( octave_idx_type  m,
octave_idx_type  n 
) const

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 2629 of file Array-base.cc.

References m, min(), n, and numel().

◆ dim1()

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

Definition at line 456 of file Array.h.

Referenced by Array< T, Alloc >::assign().

◆ dim2()

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API octave_idx_type Array< T, Alloc >::dim2 ( void  ) const
inline

◆ dim3()

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API octave_idx_type Array< T, Alloc >::dim3 ( void  ) 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 479 of file Array.h.

References dim_vector::ndims().

Referenced by ft_text_renderer::process_character(), base_text_renderer::rotate_pixels(), and latex_renderer::text_to_pixels().

◆ dims()

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API const dim_vector& Array< T, Alloc >::dims ( void  ) const
inline

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

Definition at line 503 of file Array.h.

Referenced by idx_vector::idx_mask_rep::idx_mask_rep(), idx_vector::idx_vector_rep::idx_vector_rep(), NDArray::NDArray(), airy(), Array< T, Alloc >::assign(), octave_map::assign(), binmap(), biry(), bitopxx(), Array< T, Alloc >::cat(), FloatNDArray::concat(), charNDArray::concat(), conv_to_int_array(), convolve(), octave_map::delete_elements(), do_bessel(), do_bitpack(), do_bsxfun_op(), do_merge(), do_mm_binary_op(), do_numeric_lookup(), do_rand(), do_rc_map(), do_simple_cellfun(), do_sm_binary_op(), do_strcmp_fcn(), do_tril(), do_triu(), opengl_renderer::draw_surface(), octave_char_matrix_str::edit_display(), elem_xdiv(), elem_xpow(), encode_bool_image(), F__isprimelarge__(), F__make_valid_name__(), Fcell2struct(), Fcomplex(), Fellipj(), filter(), find_nonzero_elem_idx(), Fis_same_file(), Fisa(), Fisargout(), Fisfield(), Flookup(), ComplexNDArray::fourier(), FloatComplexNDArray::fourier(), FloatNDArray::fourier(), ComplexNDArray::fourier2d(), FloatNDArray::fourier2d(), ComplexNDArray::fourierNd(), FloatComplexNDArray::fourierNd(), FloatNDArray::fourierNd(), Fregexprep(), Frepelems(), Fstr2double(), Fstrfind(), Fstrrep(), Fstruct(), Funicode_idx(), get_cell2struct_fields(), hex2num(), MArray< T >::idx_add_nd(), ComplexNDArray::ifourier(), FloatComplexNDArray::ifourier(), FloatNDArray::ifourier(), ComplexNDArray::ifourier2d(), FloatComplexNDArray::ifourier2d(), FloatNDArray::ifourier2d(), ComplexNDArray::ifourierNd(), FloatComplexNDArray::ifourierNd(), FloatNDArray::ifourierNd(), octave_map::index(), gepbalance< T >::init(), Array< T, Alloc >::insert(), ComplexNDArray::insert(), FloatComplexNDArray::insert(), is_handle_visible(), ishghandle(), Array< T, Alloc >::lookup(), octave_float_matrix::map(), octave_matrix::map(), map_2_xldexp(), cdef_object::map_value(), maybe_convert_to_u16(), num2hex(), oct_catop_matrix_struct(), oct_catop_struct_matrix(), octave_print_internal(), octcellregexp(), operator<<(), octave_map::permute(), octave_cell::print_raw(), octave_map::setfield(), sizes_cmp(), cdef_object_array::subsasgn(), and try_cellfun_internal_ops().

◆ elem() [1/8]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API T& Array< T, Alloc >::elem ( const Array< octave_idx_type > &  ra_idx)
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 574 of file Array.h.

References Array< T, Alloc >::elem(), and ra_idx.

◆ elem() [2/8]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API crefT Array< T, Alloc >::elem ( const Array< octave_idx_type > &  ra_idx) 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 607 of file Array.h.

References ra_idx, and Array< T, Alloc >::xelem().

◆ elem() [3/8]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API T& Array< T, Alloc >::elem ( octave_idx_type  i,
octave_idx_type  j 
)
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 568 of file Array.h.

References elem.

◆ elem() [4/8]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API crefT Array< T, Alloc >::elem ( octave_idx_type  i,
octave_idx_type  j 
) 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 599 of file Array.h.

◆ elem() [5/8]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API T& Array< T, Alloc >::elem ( octave_idx_type  i,
octave_idx_type  j,
octave_idx_type  k 
)
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 571 of file Array.h.

References elem.

◆ elem() [6/8]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API crefT Array< T, Alloc >::elem ( octave_idx_type  i,
octave_idx_type  j,
octave_idx_type  k 
) 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 603 of file Array.h.

◆ elem() [7/8]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API T& Array< T, Alloc >::elem ( octave_idx_type  n)
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 562 of file Array.h.

References n.

Referenced by ComplexMatrix::ComplexMatrix(), FloatComplexMatrix::FloatComplexMatrix(), FloatMatrix::FloatMatrix(), Matrix::Matrix(), Sparse< T, Alloc >::Sparse(), ComplexNDArray::all_integers(), FloatComplexNDArray::all_integers(), FloatNDArray::all_integers(), aepbalance< MT >::balancing_matrix(), octave_complex_matrix::char_array_value(), octave_float_complex_matrix::char_array_value(), octave_float_matrix::char_array_value(), ov_range< T >::char_array_value(), octave_matrix::char_array_value(), ComplexMatrix::column_is_real_only(), FloatComplexMatrix::column_is_real_only(), ComplexMatrix::column_max(), Matrix::column_max(), FloatComplexMatrix::column_max(), FloatMatrix::column_max(), ComplexMatrix::column_min(), Matrix::column_min(), FloatComplexMatrix::column_min(), FloatMatrix::column_min(), NDArray::concat(), FloatNDArray::concat(), charNDArray::concat(), conj(), conv_to_int_array(), ddaspk_f(), ddaspk_j(), ddasrt_j(), ddassl_f(), ddassl_j(), delete_graphics_objects(), ComplexMatrix::determinant(), FloatComplexMatrix::determinant(), FloatMatrix::determinant(), DiagArray2< T >::dgelem(), LSODE::do_integrate(), Array< T, Alloc >::elem(), DiagArray2< T >::elem(), elem_xdiv(), ComplexRowVector::extract(), FloatComplexRowVector::extract(), FloatRowVector::extract(), ComplexDiagMatrix::extract(), charMatrix::extract(), DiagMatrix::extract(), FloatComplexDiagMatrix::extract(), FloatDiagMatrix::extract(), ComplexColumnVector::extract(), FloatComplexColumnVector::extract(), FloatColumnVector::extract(), ComplexRowVector::extract_n(), FloatComplexRowVector::extract_n(), FloatRowVector::extract_n(), ComplexColumnVector::extract_n(), FloatComplexColumnVector::extract_n(), FloatColumnVector::extract_n(), DiagMatrix::fill(), ComplexDiagMatrix::fill(), FloatComplexDiagMatrix::fill(), FloatDiagMatrix::fill(), qr< T >::form(), SparseComplexMatrix::fsolve(), Fsymrcm(), Givens(), FloatEIG::init(), EIG::init(), ComplexColumnVector::insert(), ColumnVector::insert(), FloatComplexColumnVector::insert(), FloatColumnVector::insert(), FloatComplexMatrix::insert(), FloatComplexRowVector::insert(), FloatRowVector::insert(), FloatMatrix::insert(), ComplexMatrix::insert(), ComplexNDArray::insert(), FloatComplexNDArray::insert(), ComplexRowVector::insert(), RowVector::insert(), Matrix::insert(), DASPK::integrate(), DASSL::integrate(), DASRT::integrate(), ComplexMatrix::inverse(), FloatComplexMatrix::inverse(), FloatMatrix::inverse(), FloatMatrix::issymmetric(), octave_bool_matrix::load_ascii(), octave_cell::load_ascii(), octave_cell::load_binary(), octave_bool_matrix::load_hdf5(), lsode_f(), ComplexMatrix::lssolve(), FloatComplexMatrix::lssolve(), FloatMatrix::lssolve(), Matrix::lssolve(), matrix_real_probe(), SparseBoolMatrix::matrix_value(), SparseComplexMatrix::max(), SparseMatrix::max(), ComplexColumnVector::max(), ComplexRowVector::max(), FloatComplexColumnVector::max(), FloatColumnVector::max(), FloatComplexRowVector::max(), FloatRowVector::max(), SparseComplexMatrix::min(), SparseMatrix::min(), ComplexColumnVector::min(), ComplexRowVector::min(), FloatComplexColumnVector::min(), FloatColumnVector::min(), FloatComplexRowVector::min(), FloatRowVector::min(), boolMatrix::operator!(), intNDArray< T >::operator!(), operator*(), ComplexMatrix::operator+=(), FloatComplexMatrix::operator+=(), FloatMatrix::operator+=(), ComplexMatrix::operator-=(), FloatComplexMatrix::operator-=(), FloatMatrix::operator-=(), operator<<(), operator>>(), bp_table::parse_dbfunction_params(), Array< T, Alloc >::permute(), ComplexMatrix::pseudo_inverse(), Matrix::pseudo_inverse(), FloatComplexMatrix::pseudo_inverse(), FloatMatrix::pseudo_inverse(), read_mat_ascii_data(), ComplexMatrix::row_is_real_only(), FloatComplexMatrix::row_is_real_only(), ComplexMatrix::row_max(), Matrix::row_max(), FloatComplexMatrix::row_max(), FloatMatrix::row_max(), ComplexMatrix::row_min(), Matrix::row_min(), FloatComplexMatrix::row_min(), FloatMatrix::row_min(), octave_cell::save_ascii(), octave_cell::save_binary(), octave_cell::save_hdf5(), and try_cellfun_internal_ops().

◆ elem() [8/8]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API crefT Array< T, Alloc >::elem ( octave_idx_type  n) 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 595 of file Array.h.

References n.

◆ fill()

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

Definition at line 95 of file Array-base.cc.

References numel().

Referenced by idx_vector::idx_scalar_rep::sort_idx().

◆ find() [1/3]

template<typename T , typename Alloc >
Array< octave_idx_type > Array< T, Alloc >::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 2240 of file Array-base.cc.

References Array< T, Alloc >::clear(), Array< T, Alloc >::fortran_vec(), Array< T, Alloc >::isempty(), Array< T, Alloc >::m_dimensions, n, numel(), Array< T, Alloc >::numel(), and Array< T, Alloc >::resize2().

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

◆ find() [2/3]

OCTINTERP_API Array< octave_idx_type > Array< octave::cdef_object >::find ( octave_idx_type  ,
bool   
) const

Definition at line 52 of file Array-tc.cc.

◆ find() [3/3]

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

◆ fortran_vec()

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

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 1766 of file Array-base.cc.

Referenced by lu< T >::lu(), sparse_lu< lu_type >::sparse_lu(), SparseBoolMatrix::any(), octave_uint64_matrix::array_value(), idx_vector::idx_vector_rep::as_array(), mxArray_struct::as_octave_value(), mxArray_cell::as_octave_value(), Sparse< T, Alloc >::assign(), aepbalance< MT >::balancing_matrix(), base64_decode(), base64_decode_bytes(), binmap(), blkmm_internal(), octave_uint64_matrix::bool_array_value(), SparseComplexMatrix::bsolve(), SparseMatrix::bsolve(), sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::C(), cam2xform(), Array< octave_value * >::cat(), octave_uint64_matrix::char_array_value(), chol2inv_internal(), idx_vector::complement(), octave_uint64_matrix::complex_array_value(), octave_uint64_matrix::complex_matrix_value(), convert_cdata(), convolve(), Array< T, Alloc >::delete_elements(), ComplexMatrix::determinant(), Matrix::determinant(), FloatComplexMatrix::determinant(), FloatMatrix::determinant(), SparseComplexMatrix::determinant(), SparseMatrix::determinant(), dmsolve_insert(), dmsolve_permute(), do_bitunpack(), do_bsxfun_op(), rand::do_float_nd_array(), DASPK::do_integrate(), DASSL::do_integrate(), LSODE::do_integrate(), DefQuad::do_integrate(), IndefQuad::do_integrate(), FloatDefQuad::do_integrate(), FloatIndefQuad::do_integrate(), rand::do_nd_array(), do_repelems(), base_stream::do_scanf(), do_scanf_conv(), rand::do_vector(), opengl_renderer::draw_patch(), EigsComplexNonSymmetricFunc(), EigsComplexNonSymmetricMatrix(), EigsComplexNonSymmetricMatrixShift(), EigsRealNonSymmetricFunc(), EigsRealNonSymmetricMatrix(), EigsRealNonSymmetricMatrixShift(), EigsRealSymmetricFunc(), EigsRealSymmetricMatrix(), EigsRealSymmetricMatrixShift(), octave_fields::equal_up_to_order(), F__delaunayn__(), F__dsearchn__(), F__glpk__(), F__icholt__(), F__iluc__(), F__ilutp__(), F__magick_finfo__(), F__pchip_deriv__(), F__voronoi__(), SparseComplexMatrix::factorize(), SparseMatrix::factorize(), Famd(), Faudioread(), Fconvhulln(), Fdot(), Fellipj(), filter(), Array< T, Alloc >::find(), find_starting_node(), ComplexMatrix::finverse(), Matrix::finverse(), FloatComplexMatrix::finverse(), FloatMatrix::finverse(), octave_uint64_matrix::float_array_value(), octave_uint64_matrix::float_complex_array_value(), octave_uint64_matrix::float_complex_matrix_value(), octave_uint64_matrix::float_matrix_value(), Fordqz(), Fordschur(), DiagArray2< T >::fortran_vec(), ComplexNDArray::fourier(), NDArray::fourier(), FloatComplexNDArray::fourier(), FloatNDArray::fourier(), ComplexMatrix::fourier(), Matrix::fourier(), FloatComplexMatrix::fourier(), FloatMatrix::fourier(), ComplexMatrix::fourier2d(), ComplexNDArray::fourier2d(), Matrix::fourier2d(), NDArray::fourier2d(), FloatComplexMatrix::fourier2d(), FloatMatrix::fourier2d(), FloatNDArray::fourier2d(), ComplexNDArray::fourierNd(), NDArray::fourierNd(), FloatComplexNDArray::fourierNd(), FloatNDArray::fourierNd(), mxArray_base_full::fp_to_ov(), Fquadcc(), Fqz(), Frandperm(), ComplexMatrix::fsolve(), FloatComplexMatrix::fsolve(), FloatMatrix::fsolve(), Matrix::fsolve(), SparseComplexMatrix::fsolve(), SparseMatrix::fsolve(), Fsymrcm(), rand::get_internal_state(), opengl_renderer::get_pixels(), gsvd< T >::ggsvd(), EIG::hermitian_init(), FloatEIG::hermitian_init(), ichol_t(), MArray< T >::idx_add_nd(), ComplexNDArray::ifourier(), FloatComplexNDArray::ifourier(), FloatNDArray::ifourier(), ComplexMatrix::ifourier(), Matrix::ifourier(), FloatComplexMatrix::ifourier(), FloatMatrix::ifourier(), ComplexMatrix::ifourier2d(), ComplexNDArray::ifourier2d(), Matrix::ifourier2d(), NDArray::ifourier2d(), FloatComplexMatrix::ifourier2d(), FloatComplexNDArray::ifourier2d(), FloatMatrix::ifourier2d(), FloatNDArray::ifourier2d(), ComplexNDArray::ifourierNd(), NDArray::ifourierNd(), FloatComplexNDArray::ifourierNd(), FloatNDArray::ifourierNd(), ilu_crout(), ilu_tp(), img_float2uint(), range< T, typename std::enable_if< std::is_floating_point< T >::value >::type >::index(), Range::index(), FloatEIG::init(), hess< T >::init(), EIG::init(), chol< T >::init(), gepbalance< T >::init(), schur< T >::init(), qr< T >::init(), qrp< T >::init(), CollocWt::init(), qr< T >::insert_col(), qr< T >::insert_row(), DASRT::integrate(), kron(), octave_char_matrix_str::load_ascii(), octave_char_matrix_str::load_binary(), Array< T, Alloc >::lookup(), ComplexMatrix::lssolve(), FloatComplexMatrix::lssolve(), FloatMatrix::lssolve(), Matrix::lssolve(), ComplexMatrix::ltsolve(), FloatComplexMatrix::ltsolve(), FloatMatrix::ltsolve(), Matrix::ltsolve(), LuAminusSigmaB(), Cell::map(), Array< T, Alloc >::map(), octave_uint64_matrix::matrix_value(), operator*(), ComplexColumnVector::operator+=(), FloatComplexColumnVector::operator+=(), FloatComplexMatrix::operator+=(), FloatComplexRowVector::operator+=(), ComplexMatrix::operator+=(), ComplexRowVector::operator+=(), ComplexColumnVector::operator-=(), FloatComplexColumnVector::operator-=(), FloatComplexMatrix::operator-=(), FloatComplexRowVector::operator-=(), ComplexMatrix::operator-=(), ComplexRowVector::operator-=(), PermMatrix::pos_power(), sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::Q(), qs_replace(), ComplexMatrix::rcond(), Matrix::rcond(), FloatComplexMatrix::rcond(), FloatMatrix::rcond(), read_indexed_images(), read_mat5_binary_element(), read_mat_binary_data(), Array< T, Alloc >::resize(), Array< T, Alloc >::resize2(), rsf2csf< ComplexMatrix, Matrix >(), rsf2csf< FloatComplexMatrix, FloatMatrix >(), octave_char_matrix_str::save_ascii(), Array< T, Alloc >::sort(), string_vector::sort(), idx_vector::idx_vector_rep::sort_idx(), Range::sort_internal(), Array< T, Alloc >::sort_rows_idx(), sqrtm_utri_inplace(), stack_complex_matrix(), sub2ind(), SparseBoolMatrix::sum(), Sylvester(), FloatEIG::symmetric_init(), EIG::symmetric_init(), ComplexMatrix::tinverse(), Matrix::tinverse(), FloatComplexMatrix::tinverse(), FloatMatrix::tinverse(), mxArray_separate_full::to_ov(), Utils::toRgb(), Array< T, Alloc >::transpose(), SparseComplexMatrix::trisolve(), SparseMatrix::trisolve(), unstack_complex_matrix(), lu< T >::update(), qr< T >::update(), lu< T >::update_piv(), ComplexMatrix::utsolve(), FloatComplexMatrix::utsolve(), FloatMatrix::utsolve(), Matrix::utsolve(), viridis_colormap(), and xgemm().

◆ hermitian()

template<typename T , typename Alloc >
Array< T, Alloc > Array< T, Alloc >::hermitian ( T(*)(const T &)  fcn = nullptr) const

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 1668 of file Array-base.cc.

References Array< T, Alloc >::xelem().

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

◆ index() [1/9]

template<typename T , typename Alloc >
Array< T, Alloc > Array< T, Alloc >::index ( const Array< octave::idx_vector > &  ia) const

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 844 of file Array-base.cc.

◆ index() [2/9]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API Array<T, Alloc> Array< T, Alloc >::index ( const Array< octave::idx_vector > &  ia,
bool  resize_ok 
) 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 736 of file Array.h.

◆ index() [3/9]

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

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 1106 of file Array-base.cc.

References dim_vector::alloc(), Array< T, Alloc >::index(), Array< T, Alloc >::m_dimensions, Array< T, Alloc >::numel(), dim_vector::redim(), and Array< T, Alloc >::resize().

◆ index() [4/9]

◆ index() [5/9]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API Array<T, Alloc> Array< T, Alloc >::index ( const octave::idx_vector i,
bool  resize_ok 
) 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 717 of file Array.h.

◆ index() [6/9]

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

Indexing with possible resizing and fill.

Definition at line 1054 of file Array-base.cc.

References Array< T, Alloc >::index(), n, numel(), Array< T, Alloc >::numel(), and Array< T, Alloc >::resize1().

◆ index() [7/9]

template<typename T , typename Alloc >
Array< T, Alloc > Array< T, Alloc >::index ( const octave::idx_vector i,
const octave::idx_vector j 
) const

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 786 of file Array-base.cc.

◆ index() [8/9]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API Array<T, Alloc> Array< T, Alloc >::index ( const octave::idx_vector i,
const octave::idx_vector j,
bool  resize_ok 
) 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 726 of file Array.h.

◆ index() [9/9]

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

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 1078 of file Array-base.cc.

References Array< T, Alloc >::columns(), Array< T, Alloc >::index(), r, dim_vector::redim(), Array< T, Alloc >::resize2(), and Array< T, Alloc >::rows().

◆ insert() [1/2]

template<typename T , typename Alloc >
Array< T, Alloc > & Array< T, Alloc >::insert ( const Array< T, Alloc > &  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 1610 of file Array-base.cc.

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

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

◆ insert() [2/2]

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

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

Definition at line 1589 of file Array-base.cc.

References Array< T, Alloc >::columns(), Array< T, Alloc >::m_dimensions, Array< T, Alloc >::ndims(), r, and Array< T, Alloc >::rows().

◆ instantiation_guard() [1/21]

OCTINTERP_CLASS_TEMPLATE_INSTANTIATION_API void Array< octave::cdef_object >::instantiation_guard ( )
private

Definition at line 53 of file Array-tc.cc.

◆ instantiation_guard() [2/21]

OCTAVE_CLASS_TEMPLATE_INSTANTIATION_API void Array< Complex >::instantiation_guard ( )
private

Definition at line 98 of file Array-C.cc.

◆ instantiation_guard() [3/21]

OCTAVE_CLASS_TEMPLATE_INSTANTIATION_API void Array< float >::instantiation_guard ( )
private

Definition at line 169 of file Array-f.cc.

◆ instantiation_guard() [4/21]

OCTAVE_CLASS_TEMPLATE_INSTANTIATION_API void Array< FloatComplex >::instantiation_guard ( )
private

Definition at line 98 of file Array-fC.cc.

◆ instantiation_guard() [5/21]

OCTAVE_CLASS_TEMPLATE_INSTANTIATION_API void Array< signed char >::instantiation_guard ( )
private

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

◆ instantiation_guard() [6/21]

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

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

◆ instantiation_guard() [7/21]

OCTAVE_CLASS_TEMPLATE_INSTANTIATION_API void Array< unsigned char >::instantiation_guard ( )
private

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

◆ instantiation_guard() [8/21]

OCTAVE_CLASS_TEMPLATE_INSTANTIATION_API void Array< unsigned short >::instantiation_guard ( )
private

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

◆ instantiation_guard() [9/21]

OCTAVE_CLASS_TEMPLATE_INSTANTIATION_API void Array< unsigned int >::instantiation_guard ( )
private

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

◆ instantiation_guard() [10/21]

OCTAVE_CLASS_TEMPLATE_INSTANTIATION_API void Array< unsigned long >::instantiation_guard ( )
private

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

◆ instantiation_guard() [11/21]

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

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

◆ instantiation_guard() [12/21]

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

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

◆ instantiation_guard() [13/21]

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

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

◆ instantiation_guard() [14/21]

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

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

◆ instantiation_guard() [15/21]

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

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

◆ instantiation_guard() [16/21]

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

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

◆ instantiation_guard() [17/21]

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

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

◆ instantiation_guard() [18/21]

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

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

◆ instantiation_guard() [19/21]

OCTAVE_CLASS_TEMPLATE_INSTANTIATION_API void Array< octave::idx_vector >::instantiation_guard ( )
private

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

◆ instantiation_guard() [20/21]

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

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

◆ instantiation_guard() [21/21]

template<typename T , typename Alloc >
void Array< T, Alloc >::instantiation_guard
staticprivate

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 2775 of file Array-base.cc.

◆ ipermute()

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API Array<T, Alloc> Array< T, Alloc >::ipermute ( const Array< octave_idx_type > &  vec) 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 645 of file Array.h.

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

◆ is_nd_vector()

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API bool Array< T, Alloc >::is_nd_vector ( void  ) 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 657 of file Array.h.

References dim_vector::is_nd_vector().

◆ is_shared()

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API bool Array< T, Alloc >::is_shared ( void  ) 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 674 of file Array.h.

References Array< T, Alloc >::ArrayRep::m_count.

Referenced by mx_el_or_assign(), operator*=(), operator+=(), operator-=(), operator/=(), product_eq(), and quotient_eq().

◆ is_sorted_rows() [1/3]

template<typename T , typename Alloc >
sortmode Array< T, Alloc >::is_sorted_rows ( sortmode  mode = UNSORTED) const

Ordering is auto-detected or can be specified.

Definition at line 2099 of file Array-base.cc.

References ASCENDING, DESCENDING, elem, octave_sort< T >::is_sorted_rows(), r, safe_comparator(), octave_sort< T >::set_compare(), and UNSORTED.

Referenced by octave_cell::is_sorted_rows().

◆ is_sorted_rows() [2/3]

OCTINTERP_API sortmode Array< octave::cdef_object >::is_sorted_rows ( sortmode  ) const

Definition at line 52 of file Array-tc.cc.

◆ is_sorted_rows() [3/3]

OCTAVE_API sortmode Array< octave::idx_vector >::is_sorted_rows ( sortmode  ) const

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

◆ isempty()

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API bool Array< T, Alloc >::isempty ( void  ) 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 651 of file Array.h.

References numel().

Referenced by ft_text_renderer::compute_bbox(), ft_text_renderer::compute_line_xoffset(), NDArray::concat(), FloatNDArray::concat(), charNDArray::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_minmax_red_op< boolNDArray >(), do_num2cell(), do_object2cell(), opengl_renderer::draw_axes_boxes(), opengl_renderer::draw_axes_planes(), opengl_renderer::draw_axes_x_grid(), opengl_renderer::draw_axes_y_grid(), opengl_renderer::draw_axes_z_grid(), opengl_renderer::draw_patch(), opengl_renderer::draw_scatter(), opengl_renderer::draw_surface(), opengl_renderer::draw_text_background(), EigsComplexNonSymmetricFunc(), EigsComplexNonSymmetricMatrix(), EigsComplexNonSymmetricMatrixShift(), EigsRealNonSymmetricFunc(), EigsRealNonSymmetricMatrix(), EigsRealNonSymmetricMatrixShift(), EigsRealSymmetricFunc(), EigsRealSymmetricMatrix(), EigsRealSymmetricMatrixShift(), F__magick_write__(), Array< T, Alloc >::find(), find_config_info(), find_nonzero_elem_idx(), octave_bool_matrix::load_ascii(), octave_char_matrix_str::load_ascii(), lsode_f(), lsode_user_function(), lsode_user_jacobian(), LuAminusSigmaB(), octave_print_internal(), latex_renderer::ok(), textscan::read_format_once(), textscan::scan_string(), opengl_renderer::set_color(), octave_cell::short_disp(), ft_text_renderer::text_to_pixels(), latex_renderer::text_to_pixels(), and val_in_table().

◆ issorted() [1/4]

OCTAVE_API sortmode Array< float >::issorted ( sortmode  mode) const

Definition at line 101 of file Array-f.cc.

References ASCENDING, DESCENDING, isnan(), n, numel(), r, and UNSORTED.

◆ issorted() [2/4]

template<typename T , typename Alloc >
sortmode Array< T, Alloc >::issorted ( sortmode  mode = UNSORTED) const

Ordering is auto-detected or can be specified.

Definition at line 2049 of file Array-base.cc.

References ASCENDING, DESCENDING, elem, octave_sort< T >::issorted(), n, numel(), safe_comparator(), octave_sort< T >::set_compare(), and UNSORTED.

Referenced by F__ode15__(), octave_cell::issorted(), and Array< T, Alloc >::lookup().

◆ issorted() [3/4]

OCTINTERP_API sortmode Array< octave::cdef_object >::issorted ( sortmode  ) const

Definition at line 52 of file Array-tc.cc.

◆ issorted() [4/4]

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

◆ issquare()

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API bool Array< T, Alloc >::issquare ( void  ) 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 648 of file Array.h.

Referenced by conj(), FloatComplexMatrix::ishermitian(), and FloatMatrix::issymmetric().

◆ isvector()

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API bool Array< T, Alloc >::isvector ( void  ) 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 654 of file Array.h.

References dim_vector::isvector().

Referenced by Ffilter(), read_mat5_binary_element(), and sizes_cmp().

◆ linear_slice()

template<typename T , typename Alloc >
Array< T, Alloc > Array< T, Alloc >::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 303 of file Array-base.cc.

◆ lookup() [1/6]

OCTINTERP_API Array< octave_idx_type > Array< octave::cdef_object >::lookup ( const Array< octave::cdef_object > &  ,
sortmode   
) const

Definition at line 52 of file Array-tc.cc.

◆ lookup() [2/6]

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

◆ lookup() [3/6]

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

◆ lookup() [4/6]

template<typename T , typename Alloc >
octave_idx_type Array< T, Alloc >::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 2160 of file Array-base.cc.

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

Referenced by do_numeric_lookup(), Flookup(), and val_in_table().

◆ lookup() [5/6]

OCTINTERP_API octave_idx_type Array< octave::cdef_object >::lookup ( octave::cdef_object const &  ,
sortmode   
) const

Definition at line 52 of file Array-tc.cc.

◆ lookup() [6/6]

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

◆ make_unique()

◆ map() [1/3]

template<typename T , typename Alloc >
template<typename U , typename F , typename A = std::allocator<U>>
Array<U, A> Array< T, Alloc >::map ( fcn) const
inline

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

This function is optimized with a manually unrolled loop.

Definition at line 865 of file Array.h.

References Array< T, Alloc >::fortran_vec(), len, m, and numel().

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

◆ map() [2/3]

template<typename T , typename Alloc >
template<typename U , typename A = std::allocator<U>>
Array<U, A> Array< T, Alloc >::map ( U(&)(const T &)  fcn) 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 910 of file Array.h.

◆ map() [3/3]

template<typename T , typename Alloc >
template<typename U , typename A = std::allocator<U>>
Array<U, A> Array< T, Alloc >::map ( U(&)(T)  fcn) const
inline

Overloads for function references.

Definition at line 901 of file Array.h.

◆ maybe_economize()

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API void Array< T, Alloc >::maybe_economize ( void  )
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 795 of file Array.h.

References Array< T, Alloc >::ArrayRep::m_count, Array< T, Alloc >::ArrayRep::m_data, and Array< T, Alloc >::ArrayRep::m_len.

◆ ndims()

◆ nil_rep()

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

Definition at line 46 of file Array-base.cc.

◆ nnz() [1/3]

OCTINTERP_API octave_idx_type Array< octave::cdef_object >::nnz ( void  ) const

Definition at line 52 of file Array-tc.cc.

◆ nnz() [2/3]

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

◆ nnz() [3/3]

template<typename T , typename Alloc >
octave_idx_type Array< T, Alloc >::nnz ( void  ) const

◆ nth_element() [1/3]

OCTINTERP_API Array< octave::cdef_object > Array< octave::cdef_object >::nth_element ( const octave::idx_vector ,
int   
) const

Definition at line 52 of file Array-tc.cc.

◆ nth_element() [2/3]

OCTAVE_API Array< octave::idx_vector > Array< octave::idx_vector >::nth_element ( const octave::idx_vector ,
int   
) const

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

◆ nth_element() [3/3]

template<typename T , typename Alloc >
Array< T, Alloc > Array< T, Alloc >::nth_element ( const octave::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 2321 of file Array-base.cc.

References ASCENDING, DESCENDING, m, max(), min(), n, nn, octave_sort< T >::nth_element(), numel(), OCTAVE_LOCAL_BUFFER, octave_sort< T >::set_compare(), and UNSORTED.

Referenced by Fnth_element().

◆ numel()

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

Number of elements in the array.

Definition at line 414 of file Array.h.

Referenced by Array< octave_value * >::Array(), Array< T, Alloc >::Array(), ButtonControl::ButtonControl(), Cell::Cell(), ComplexMatrix::ComplexMatrix(), ComplexNDArray::ComplexNDArray(), DiagArray2< T >::DiagArray2(), FloatComplexMatrix::FloatComplexMatrix(), FloatComplexNDArray::FloatComplexNDArray(), FloatNDArray::FloatNDArray(), idx_vector::idx_vector(), idx_vector::idx_vector_rep::idx_vector_rep(), ListBoxControl::ListBoxControl(), NDArray::NDArray(), octave_value_list::octave_value_list(), SliderControl::SliderControl(), Sparse< T, Alloc >::Sparse(), sparse_lu< lu_type >::sparse_lu(), ComplexNDArray::all_integers(), FloatComplexNDArray::all_integers(), FloatNDArray::all_integers(), all_ones(), any_ones(), FloatComplexMatrix::append(), FloatComplexRowVector::append(), FloatMatrix::append(), FloatRowVector::append(), ComplexMatrix::append(), ComplexRowVector::append(), Matrix::append(), RowVector::append(), octave_value_list::array_value(), Array< T, Alloc >::assign(), binmap(), bitopxx(), octave_cell::break_closure_cycles(), octave_class::break_closure_cycles(), octave_struct::break_closure_cycles(), calc_dimensions(), Canvas::canvasWheelEvent(), PermMatrix::checkelem(), boolNDArray::concat(), charNDArray::concat(), ComplexNDArray::concat(), FloatComplexNDArray::concat(), FloatNDArray::concat(), intNDArray< T >::concat(), NDArray::concat(), concat(), conv_to_int_array(), convert_cdata(), convert_position(), tree_evaluator::convert_return_list_to_const_vector(), convert_text_position(), daspk_user_function(), daspk_user_jacobian(), dasrt_user_f(), dasrt_user_j(), dassl_user_function(), dassl_user_jacobian(), bp_table::dbstop_process_map_args(), default_numeric_conversion_function(), error_system::default_warning_state(), DEFMETHOD(), DEFMETHODX(), qr< T >::delete_col(), Array< T, Alloc >::delete_elements(), delete_graphics_objects(), cdef_class::cdef_class_rep::delete_object(), Array< octave_value * >::diag(), DiagArray2< T >::diag_length(), PermMatrix::dim1(), PermMatrix::dim2(), error_system::display_warning_options(), do_bessel(), do_bitpack(), do_bsxfun_op(), do_cellslices_nda(), do_cleanup_waitfor_listener(), rand::do_float_nd_array(), DASPK::do_integrate(), DASSL::do_integrate(), LSODE::do_integrate(), DefQuad::do_integrate(), FloatDefQuad::do_integrate(), do_mat2cell(), do_mat2cell_nd(), do_minmax_bin_op< charNDArray >(), do_mx_check(), rand::do_nd_array(), do_num2cell_helper(), do_permute(), do_rand(), do_rc_map(), sparse_params::do_set_vals(), do_simple_cellfun(), do_strcmp_fcn(), rand::do_vector(), chol< T >::downdate(), opengl_renderer::draw(), opengl_renderer::draw_all_lights(), opengl_renderer::draw_line(), opengl_renderer::draw_marker(), opengl_renderer::draw_patch(), opengl_renderer::draw_scatter(), opengl_selector::draw_text(), opengl_renderer::draw_text(), EigsComplexNonSymmetricFunc(), EigsComplexNonSymmetricMatrix(), EigsComplexNonSymmetricMatrixShift(), EigsRealNonSymmetricFunc(), EigsRealNonSymmetricMatrix(), EigsRealNonSymmetricMatrixShift(), EigsRealSymmetricFunc(), EigsRealSymmetricMatrix(), EigsRealSymmetricMatrixShift(), elem_xdiv(), elem_xpow(), octave_fields::equal_up_to_order(), F__base64_decode_bytes__(), F__contourc__(), F__delaunayn__(), F__event_manager_input_dialog__(), F__event_manager_list_dialog__(), F__get__(), F__glpk__(), F__go_delete__(), F__go_execute_callback__(), F__go_post_callback__(), F__isprimelarge__(), F__magick_read__(), F__make_valid_name__(), F__native2unicode__(), F__ode15__(), F__pchip_deriv__(), F__unicode2native__(), F__unicode_length__(), F__voronoi__(), Fbase64_decode(), Fbase64_encode(), Fccolamd(), Fcell2struct(), Fcellslices(), Fcolamd(), Fcomplex(), Fconvhulln(), Fcsymamd(), Fdbstop(), Fdrawnow(), Fellipj(), Ffilter(), Fget(), ComplexDiagMatrix::fill(), DiagMatrix::fill(), FloatComplexDiagMatrix::fill(), FloatDiagMatrix::fill(), ComplexColumnVector::fill(), ComplexRowVector::fill(), FloatComplexColumnVector::fill(), FloatColumnVector::fill(), FloatComplexRowVector::fill(), FloatRowVector::fill(), cdef_object_array::fill_empty_values(), filter(), finalize_r(), Array< T, Alloc >::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(), Fis_same_file(), Fisa(), Fisargout(), Fiscolumn(), Fisfield(), Fismatrix(), Fisrow(), Fisscalar(), Fissquare(), Fisvector(), Flookup(), Flu(), Fmatrix_type(), Fndims(), Fordschur(), curl_transfer::form_data_post(), curl_transfer::form_query_string(), ComplexNDArray::fourier(), FloatComplexNDArray::fourier(), FloatNDArray::fourier(), ComplexNDArray::fourier2d(), FloatNDArray::fourier2d(), Fpow2(), Fquadcc(), Fregexprep(), Frepelems(), Freset(), Freshape(), Fresize(), Frmfield(), Utils::fromRgb(), Fset(), Fsize(), Fspparms(), Fstr2double(), Fstrfind(), Fstrrep(), Fsymamd(), Funicode_idx(), Furlread(), Furlwrite(), Fwarning(), cdef_object_scalar::get(), get_cell2struct_fields(), get_children_limits(), get_dim_vector(), get_dimensions(), get_region_range(), get_scalar_idx(), get_size(), get_sort_mode(), hex2num(), MArray< T >::idx_add(), MArray< T >::idx_max(), ComplexNDArray::ifourier(), FloatComplexNDArray::ifourier(), FloatNDArray::ifourier(), ComplexNDArray::ifourier2d(), FloatComplexNDArray::ifourier2d(), FloatNDArray::ifourier2d(), Array< T, Alloc >::index(), opengl_renderer::init_gl_context(), ODES::initialize(), base_diff_alg_eqn::initialize(), initialize_r(), ComplexColumnVector::insert(), ColumnVector::insert(), FloatComplexColumnVector::insert(), FloatColumnVector::insert(), FloatComplexRowVector::insert(), FloatRowVector::insert(), FloatComplexMatrix::insert(), FloatMatrix::insert(), ComplexNDArray::insert(), FloatComplexNDArray::insert(), ComplexRowVector::insert(), RowVector::insert(), ComplexMatrix::insert(), Matrix::insert(), qr< T >::insert_col(), qr< T >::insert_row(), chol< T >::insert_sym(), DASPK::integrate(), DASSL::integrate(), DASRT::integrate(), sparse_chol< chol_type >::inverse(), is_handle_visible(), is_superclass(), ishghandle(), DiagArray2< T >::length(), linspace(), octave_bool_matrix::load_ascii(), scoped_fcn_handle::load_ascii(), scoped_fcn_handle::load_binary(), textscan::lookahead(), Array< T, Alloc >::lookup(), lookup_classes(), Matrix::lssolve(), ComplexMatrix::lssolve(), FloatMatrix::lssolve(), FloatComplexMatrix::lssolve(), LuAminusSigmaB(), error_system::make_stack_frame_list(), map_2_xldexp(), cdef_object::map_value(), ComplexColumnVector::max(), ComplexRowVector::max(), FloatComplexColumnVector::max(), FloatColumnVector::max(), FloatComplexRowVector::max(), FloatRowVector::max(), maybe_convert_to_u16(), ComplexColumnVector::min(), ComplexRowVector::min(), FloatComplexColumnVector::min(), FloatColumnVector::min(), FloatComplexRowVector::min(), FloatRowVector::min(), norm1(), null(), num2hex(), numel(), octave_class::numeric_conv(), octave_print_internal(), octcellregexp(), operator*(), ComplexColumnVector::operator+=(), FloatComplexColumnVector::operator+=(), FloatComplexMatrix::operator+=(), FloatComplexRowVector::operator+=(), ComplexMatrix::operator+=(), ComplexRowVector::operator+=(), ComplexColumnVector::operator-=(), FloatComplexColumnVector::operator-=(), FloatComplexMatrix::operator-=(), FloatComplexRowVector::operator-=(), ComplexMatrix::operator-=(), ComplexRowVector::operator-=(), operator<<(), ColumnVector::operator==(), ComplexColumnVector::operator==(), ComplexMatrix::operator==(), ComplexRowVector::operator==(), FloatColumnVector::operator==(), FloatComplexColumnVector::operator==(), FloatComplexMatrix::operator==(), FloatComplexRowVector::operator==(), FloatMatrix::operator==(), FloatRowVector::operator==(), RowVector::operator==(), operator>>(), bp_table::parse_dbfunction_params(), textscan::parse_options(), PermMatrix::perm_length(), octave_base_diag< DMT, MT >::permute(), Array< T, Alloc >::permute(), Sparse< T, Alloc >::permute(), print_DASPK_options(), print_DASRT_options(), print_DASSL_options(), print_LSODE_options(), ComplexMatrix::pseudo_inverse(), Matrix::pseudo_inverse(), FloatComplexMatrix::pseudo_inverse(), FloatMatrix::pseudo_inverse(), qp(), qs_preprocess(), qs_replace(), qs_search(), read_images(), read_indexed_images(), read_mat5_binary_element(), read_mat5_binary_file_header(), textscan::read_until(), type_info::register_type(), ft_text_renderer::render(), opengl_renderer::render_grid(), opengl_renderer::render_tickmarks(), opengl_renderer::render_ticktexts(), safe_comparator(), octave_perm_matrix::save_ascii(), save_mat5_binary_element(), save_mat5_element_length(), textscan::scan_complex(), textscan::scan_string(), Canvas::select_object(), gnuplot_graphics_toolkit::send_quit(), ft_text_renderer::set_color(), latex_renderer::set_color(), annotation_dialog::set_gui_props(), curl_transfer::set_header_fields(), rand::set_internal_state(), ft_text_renderer::set_mode(), error_system::set_warning_option(), PermMatrix::setup(), show_DASPK_options(), show_DASRT_options(), show_DASSL_options(), show_LSODE_options(), sizes_cmp(), textscan::skip_delim(), textscan::skip_whitespace(), ComplexColumnVector::stack(), ColumnVector::stack(), FloatComplexColumnVector::stack(), FloatColumnVector::stack(), FloatComplexMatrix::stack(), FloatMatrix::stack(), ComplexMatrix::stack(), Matrix::stack(), sub2ind(), cdef_object_array::subsasgn(), octave_cell::subsasgn(), octave_struct::subsasgn(), octave_class::subsasgn_common(), octave_struct::subsref(), octave_cell::subsref(), octave_class::subsref(), cdef_object_array::subsref(), ButtonControl::toggled(), PermMatrix::transpose(), try_cellfun_internal_ops(), octave_complex_matrix::try_narrowing_conversion(), octave_float_complex_matrix::try_narrowing_conversion(), octave_float_matrix::try_narrowing_conversion(), octave_matrix::try_narrowing_conversion(), chol< T >::update(), lu< T >::update(), qr< T >::update(), ButtonControl::update(), PopupMenuControl::update(), SliderControl::update(), file_editor_tab::update_lexer_settings(), lu< T >::update_piv(), workspace_model::update_table(), update_text_pos(), Table::updateColumnname(), Table::updateColumnwidth(), Canvas::updateCurrentPoint(), Table::updateRowname(), updateSelection(), SliderControl::valueChanged(), vector_norm(), opengl_renderer::patch_tessellator::vertex(), tree_evaluator::visit_complex_for_command(), error_system::warning_query(), anonymous_fcn_handle::workspace(), weak_anonymous_fcn_handle::workspace(), stream::write(), write_mat5_cell_array(), xzip(), and zero_dims_inquire().

◆ operator()() [1/8]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API T& Array< T, Alloc >::operator() ( const Array< octave_idx_type > &  ra_idx)
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 583 of file Array.h.

References elem, and ra_idx.

◆ operator()() [2/8]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API crefT Array< T, Alloc >::operator() ( const Array< octave_idx_type > &  ra_idx) 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 619 of file Array.h.

References elem, and ra_idx.

◆ operator()() [3/8]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API T& Array< T, Alloc >::operator() ( octave_idx_type  i,
octave_idx_type  j 
)
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 579 of file Array.h.

References elem.

◆ operator()() [4/8]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API crefT Array< T, Alloc >::operator() ( octave_idx_type  i,
octave_idx_type  j 
) 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 613 of file Array.h.

References elem.

◆ operator()() [5/8]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API T& Array< T, Alloc >::operator() ( octave_idx_type  i,
octave_idx_type  j,
octave_idx_type  k 
)
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 581 of file Array.h.

References elem.

◆ operator()() [6/8]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API crefT Array< T, Alloc >::operator() ( octave_idx_type  i,
octave_idx_type  j,
octave_idx_type  k 
) 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 616 of file Array.h.

References elem.

◆ operator()() [7/8]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API T& Array< T, Alloc >::operator() ( octave_idx_type  n)
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 577 of file Array.h.

References elem, and n.

◆ operator()() [8/8]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API crefT Array< T, Alloc >::operator() ( octave_idx_type  n) 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 611 of file Array.h.

References elem, and n.

◆ operator=() [1/2]

template<typename T , typename Alloc >
Array<T, Alloc>& Array< T, Alloc >::operator= ( Array< T, Alloc > &&  a)
inline

Definition at line 379 of file Array.h.

References Array< T, Alloc >::ArrayRep::m_count.

◆ operator=() [2/2]

◆ optimize_dimensions()

template<typename T , typename Alloc >
bool Array< T, Alloc >::optimize_dimensions ( const dim_vector dv)

Returns true if this->dims () == dv, and if so, replaces this->m_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 2765 of file Array-base.cc.

◆ page()

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

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

Definition at line 292 of file Array-base.cc.

References r.

◆ pages()

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API octave_idx_type Array< T, Alloc >::pages ( void  ) 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 481 of file Array.h.

◆ permute()

template<typename T , typename Alloc >
Array< T, Alloc > Array< T, Alloc >::permute ( const Array< octave_idx_type > &  vec,
bool  inv = false 
) const

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 453 of file Array-base.cc.

References dim_vector::alloc(), Array< T, Alloc >::elem(), dim_vector::ndims(), Array< T, Alloc >::numel(), OCTAVE_LOCAL_BUFFER_INIT, and dim_vector::resize().

Referenced by F__unicode_length__(), Funicode_idx(), octave_base_scalar< ST >::permute(), octave_map::permute(), and MArray< T >::permute().

◆ print_info()

template<typename T , typename Alloc >
void Array< T, Alloc >::print_info ( std::ostream &  os,
const std::string &  prefix 
) const

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 2749 of file Array-base.cc.

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

◆ reshape() [1/2]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API Array<T, Alloc> Array< T, Alloc >::reshape ( const dim_vector new_dims) 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 639 of file Array.h.

◆ reshape() [2/2]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API Array<T, Alloc> Array< T, Alloc >::reshape ( octave_idx_type  nr,
octave_idx_type  nc 
) 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 635 of file Array.h.

Referenced by idx_vector::idx_mask_rep::as_array(), Array< T, Alloc >::assign(), Fbase64_decode(), range< T, typename std::enable_if< std::is_floating_point< T >::value >::type >::index(), octave_map::reshape(), Cell::reshape(), octave_base_scalar< ST >::reshape(), and MArray< T >::reshape().

◆ resize() [1/2]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API void Array< T, Alloc >::resize ( const dim_vector dv)
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 704 of file Array.h.

◆ resize() [2/2]

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

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 1032 of file Array-base.cc.

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

Referenced by DiagArray2< T >::DiagArray2(), sparse_lu< lu_type >::sparse_lu(), octave_value_list::array_value(), base64_decode(), base64_decode_bytes(), bitopxx(), bp_lines_to_ov(), Cell::column(), ComplexMatrix::column_max(), Matrix::column_max(), FloatComplexMatrix::column_max(), FloatMatrix::column_max(), ComplexMatrix::column_min(), Matrix::column_min(), FloatComplexMatrix::column_min(), FloatMatrix::column_min(), regexp::compile_internal(), dmsolve_permute(), do_bessel(), do_fft(), do_fft2(), do_fftn(), DASPK::do_integrate(), DASSL::do_integrate(), LSODE::do_integrate(), do_object2cell(), tree_cell::evaluate(), F__glpk__(), F__magick_read__(), Fbsxfun(), Ffilter(), Fget(), filter(), find_nonzero_elem_idx(), ComplexMatrix::finverse(), Matrix::finverse(), FloatComplexMatrix::finverse(), FloatMatrix::finverse(), Frandperm(), Fsize(), Fwarning(), get_ra_idx(), ichol_t(), MArray< T >::idx_add_nd(), ilu_crout(), ilu_tp(), Array< T, Alloc >::index(), DASRT::integrate(), octave_bool_matrix::load_hdf5(), octave_cell::load_hdf5(), octave_complex_matrix::load_hdf5(), octave_float_complex_matrix::load_hdf5(), octave_float_matrix::load_hdf5(), octave_matrix::load_hdf5(), octave_char_matrix_str::load_hdf5(), ComplexMatrix::lssolve(), FloatComplexMatrix::lssolve(), FloatMatrix::lssolve(), Matrix::lssolve(), SparseComplexMatrix::max(), SparseMatrix::max(), SparseComplexMatrix::min(), SparseMatrix::min(), type_info::register_type(), octave_map::resize(), ov_range< T >::resize(), octave_char_matrix_str::resize(), octave_char_matrix_sq_str::resize(), ComplexColumnVector::resize(), ComplexRowVector::resize(), ColumnVector::resize(), RowVector::resize(), FloatColumnVector::resize(), FloatRowVector::resize(), FloatComplexColumnVector::resize(), FloatComplexRowVector::resize(), DiagArray2< T >::resize(), boolMatrix::resize(), charMatrix::resize(), ComplexMatrix::row_max(), Matrix::row_max(), FloatComplexMatrix::row_max(), FloatMatrix::row_max(), ComplexMatrix::row_min(), Matrix::row_min(), FloatComplexMatrix::row_min(), FloatMatrix::row_min(), error_system::set_warning_option(), octave_base_scalar< ST >::sort(), and Range::sort_internal().

◆ resize1() [1/2]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API void Array< T, Alloc >::resize1 ( octave_idx_type  n)
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 700 of file Array.h.

References n.

◆ resize1() [2/2]

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

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 919 of file Array-base.cc.

References err_invalid_resize(), n, and numel().

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

◆ resize2() [1/2]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API void Array< T, Alloc >::resize2 ( octave_idx_type  nr,
octave_idx_type  nc 
)
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 694 of file Array.h.

◆ resize2() [2/2]

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

Resizing (with fill).

Definition at line 990 of file Array-base.cc.

References err_invalid_resize(), Array< T, Alloc >::fortran_vec(), min(), and r.

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

◆ resize_fill_value()

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

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)'

Reimplemented in Cell.

Definition at line 908 of file Array-base.cc.

◆ rows()

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

Definition at line 459 of file Array.h.

Referenced by aepbalance< MT >::aepbalance(), ComplexMatrix::ComplexMatrix(), FloatComplexMatrix::FloatComplexMatrix(), FloatMatrix::FloatMatrix(), lu< T >::lu(), Matrix::Matrix(), airy(), FloatComplexMatrix::append(), FloatMatrix::append(), ComplexMatrix::append(), Matrix::append(), biry(), SparseComplexMatrix::bsolve(), SparseMatrix::bsolve(), sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::C(), octave_char_matrix_str::cellstr_value(), Table::checkBoxClicked(), ComplexMatrix::column_is_real_only(), FloatComplexMatrix::column_is_real_only(), ComplexMatrix::column_max(), FloatComplexMatrix::column_max(), FloatMatrix::column_max(), ComplexMatrix::column_min(), FloatComplexMatrix::column_min(), FloatMatrix::column_min(), conj(), convert_cdata(), ComplexMatrix::determinant(), FloatComplexMatrix::determinant(), FloatMatrix::determinant(), octave_complex_matrix::diag(), octave_float_complex_matrix::diag(), octave_float_matrix::diag(), octave_matrix::diag(), ComplexMatrix::diag(), FloatComplexMatrix::diag(), FloatMatrix::diag(), dmsolve_insert(), dmsolve_permute(), do_bessel(), do_fftn(), do_gsvd(), do_repelems(), do_tril(), do_triu(), opengl_renderer::draw_patch(), opengl_renderer::draw_scatter(), opengl_renderer::draw_surface(), drawcn(), SparseComplexMatrix::dsolve(), SparseMatrix::dsolve(), sparse_qr< SPARSE_T >::E_MAT(), elem_xdiv(), elem_xpow(), encode_bool_image(), encode_indexed_images(), F__delaunayn__(), F__event_manager_file_dialog__(), F__event_manager_input_dialog__(), F__pchip_deriv__(), F__voronoi__(), Faudiowrite(), Fconvhulln(), ComplexMatrix::fill(), FloatComplexMatrix::fill(), FloatMatrix::fill(), find_nonzero_elem_idx(), ComplexMatrix::finverse(), FloatComplexMatrix::finverse(), FloatMatrix::finverse(), qr< T >::form(), ComplexMatrix::fourier(), FloatComplexMatrix::fourier(), FloatMatrix::fourier(), ComplexMatrix::fourier2d(), FloatComplexMatrix::fourier2d(), FloatMatrix::fourier2d(), Frepelems(), ComplexMatrix::fsolve(), FloatComplexMatrix::fsolve(), FloatMatrix::fsolve(), Matrix::fsolve(), SparseComplexMatrix::fsolve(), SparseMatrix::fsolve(), Fstrrep(), EIG::hermitian_init(), FloatEIG::hermitian_init(), ComplexMatrix::ifourier(), FloatComplexMatrix::ifourier(), FloatMatrix::ifourier(), ComplexMatrix::ifourier2d(), FloatComplexMatrix::ifourier2d(), FloatMatrix::ifourier2d(), Sparse< T, Alloc >::index(), Array< T, Alloc >::index(), FloatEIG::init(), hess< T >::init(), EIG::init(), chol< T >::init(), gepbalance< T >::init(), schur< T >::init(), qr< T >::init(), qrp< T >::init(), Array< T, Alloc >::insert(), FloatComplexMatrix::insert(), FloatMatrix::insert(), ComplexMatrix::insert(), ComplexMatrix::inverse(), FloatComplexMatrix::inverse(), FloatMatrix::inverse(), FloatComplexMatrix::ishermitian(), FloatMatrix::issymmetric(), kron(), ComplexMatrix::lssolve(), FloatComplexMatrix::lssolve(), FloatMatrix::lssolve(), Matrix::lssolve(), ComplexMatrix::ltsolve(), FloatComplexMatrix::ltsolve(), FloatMatrix::ltsolve(), Matrix::ltsolve(), SparseComplexMatrix::ltsolve(), SparseMatrix::ltsolve(), LuAminusSigmaB(), mark_facets(), mark_upper_triangular(), matrix_real_probe(), max(), min(), octave_print_internal(), octave_print_internal_template(), operator*(), ComplexMatrix::operator+=(), FloatComplexMatrix::operator+=(), FloatMatrix::operator+=(), ComplexMatrix::operator-=(), FloatComplexMatrix::operator-=(), FloatMatrix::operator-=(), boolMatrix::operator==(), charMatrix::operator==(), ComplexMatrix::operator==(), FloatComplexMatrix::operator==(), FloatMatrix::operator==(), Matrix::operator==(), pointer_to_qimage(), ComplexMatrix::pseudo_inverse(), FloatComplexMatrix::pseudo_inverse(), FloatMatrix::pseudo_inverse(), ComplexMatrix::rcond(), FloatComplexMatrix::rcond(), FloatMatrix::rcond(), regexp::replace(), ComplexMatrix::row_max(), FloatComplexMatrix::row_max(), FloatMatrix::row_max(), ComplexMatrix::row_min(), FloatComplexMatrix::row_min(), FloatMatrix::row_min(), rsf2csf< ComplexMatrix, Matrix >(), rsf2csf< FloatComplexMatrix, FloatMatrix >(), octave_cell::save_ascii(), octave_char_matrix_str::save_ascii(), save_mat_binary_data(), save_three_d(), sizes_cmp(), sqrtm_utri_inplace(), FloatComplexMatrix::stack(), FloatMatrix::stack(), ComplexMatrix::stack(), Matrix::stack(), stack_complex_matrix(), streameuler2d_internal(), octave_char_matrix_str::string_value(), octave_char_matrix_str::string_vector_value(), tree_evaluator::switch_case_label_matches(), Sylvester(), FloatEIG::symmetric_init(), EIG::symmetric_init(), ComplexMatrix::tinverse(), FloatComplexMatrix::tinverse(), FloatMatrix::tinverse(), SparseComplexMatrix::trisolve(), SparseMatrix::trisolve(), octave_bool_matrix::try_narrowing_conversion(), unstack_complex_matrix(), lu< T >::update(), qr< T >::update(), lu< T >::update_piv(), Table::updateColumnname(), Table::updateRowname(), ComplexMatrix::utsolve(), FloatComplexMatrix::utsolve(), FloatMatrix::utsolve(), Matrix::utsolve(), SparseComplexMatrix::utsolve(), SparseMatrix::utsolve(), xgemm(), and xpow().

◆ size()

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API size_type Array< T, Alloc >::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 492 of file Array.h.

References d.

Referenced by textscan::parse_options(), and octave_value::size().

◆ sort() [1/6]

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

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 1895 of file Array-base.cc.

References DESCENDING, Array< T, Alloc >::fortran_vec(), m, dim_vector::numel(), OCTAVE_LOCAL_BUFFER, octave_sort< T >::set_compare(), octave_sort< T >::sort(), and UNSORTED.

◆ sort() [2/6]

OCTINTERP_API Array< octave::cdef_object > Array< octave::cdef_object >::sort ( Array< octave_idx_type > &  sidx,
int  ,
sortmode   
) const

Definition at line 52 of file Array-tc.cc.

◆ sort() [3/6]

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

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

◆ sort() [4/6]

template<typename T , typename Alloc >
Array< T, Alloc > Array< T, Alloc >::sort ( int  dim = 0,
sortmode  mode = ASCENDING 
) const

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 1783 of file Array-base.cc.

References DESCENDING, m, dim_vector::ndims(), dim_vector::numel(), OCTAVE_LOCAL_BUFFER, dim_vector::resize(), octave_sort< T >::set_compare(), octave_sort< T >::sort(), and UNSORTED.

Referenced by qr< T >::delete_col(), do_gsvd(), qr< T >::insert_col(), octave_cell::sort(), and ov_range< T >::sort().

◆ sort() [5/6]

OCTINTERP_API Array< octave::cdef_object > Array< octave::cdef_object >::sort ( int  ,
sortmode   
) const

Definition at line 52 of file Array-tc.cc.

◆ sort() [6/6]

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

◆ sort_rows_idx() [1/3]

◆ sort_rows_idx() [2/3]

OCTINTERP_API Array< octave_idx_type > Array< octave::cdef_object >::sort_rows_idx ( sortmode  ) const

Definition at line 52 of file Array-tc.cc.

◆ sort_rows_idx() [3/3]

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

◆ squeeze()

template<typename T , typename Alloc >
Array< T, Alloc > Array< T, Alloc >::squeeze ( void  ) const

Chop off leading singleton dimensions.

Definition at line 139 of file Array-base.cc.

References dim_vector::resize().

Referenced by boolNDArray::squeeze(), charNDArray::squeeze(), and MArray< T >::squeeze().

◆ test()

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

Generic any/all test functionality with arbitrary predicate.

Definition at line 916 of file Array.h.

References numel().

◆ test_all() [1/3]

template<typename T , typename Alloc >
bool Array< T, Alloc >::test_all ( bool(&)(const T &)  fcn) 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 943 of file Array.h.

◆ test_all() [2/3]

template<typename T , typename Alloc >
bool Array< T, Alloc >::test_all ( bool(&)(T)  fcn) 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 940 of file Array.h.

◆ test_all() [3/3]

template<typename T , typename Alloc >
template<typename F >
bool Array< T, Alloc >::test_all ( fcn) 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 928 of file Array.h.

Referenced by FloatNDArray::all_elements_are_int_or_inf_or_nan(), FloatNDArray::all_elements_are_zero(), FloatNDArray::all_integers(), FloatNDArray::any_element_is_negative(), FloatNDArray::any_element_is_positive(), FloatNDArray::any_element_not_one_or_zero(), and ov_range< T >::bool_array_value().

◆ test_any() [1/3]

template<typename T , typename Alloc >
bool Array< T, Alloc >::test_any ( bool(&)(const T &)  fcn) 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 937 of file Array.h.

◆ test_any() [2/3]

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

Overloads for function references.

Definition at line 934 of file Array.h.

◆ test_any() [3/3]

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

Simpler calls.

Definition at line 924 of file Array.h.

Referenced by ComplexNDArray::too_large_for_float().

◆ transpose()

template<typename T , typename Alloc >
Array< T, Alloc > Array< T, Alloc >::transpose ( void  ) const

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 1625 of file Array-base.cc.

References rec_permute_helper::blk_trans(), Array< T, Alloc >::fortran_vec(), and Array< T, Alloc >::xelem().

Referenced by Sparse< T, Alloc >::index(), oct_unop_transpose(), Sparse< T, Alloc >::sort(), boolMatrix::transpose(), charMatrix::transpose(), and MArray< T >::transpose().

◆ xelem() [1/8]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API T& Array< T, Alloc >::xelem ( const Array< octave_idx_type > &  ra_idx)
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 544 of file Array.h.

References ra_idx.

◆ xelem() [2/8]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API crefT Array< T, Alloc >::xelem ( const Array< octave_idx_type > &  ra_idx) 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 548 of file Array.h.

References ra_idx.

◆ xelem() [3/8]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API T& Array< T, Alloc >::xelem ( octave_idx_type  i,
octave_idx_type  j 
)
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 530 of file Array.h.

◆ xelem() [4/8]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API crefT Array< T, Alloc >::xelem ( octave_idx_type  i,
octave_idx_type  j 
) 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 533 of file Array.h.

◆ xelem() [5/8]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API T& Array< T, Alloc >::xelem ( octave_idx_type  i,
octave_idx_type  j,
octave_idx_type  k 
)
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 537 of file Array.h.

◆ xelem() [6/8]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API crefT Array< T, Alloc >::xelem ( octave_idx_type  i,
octave_idx_type  j,
octave_idx_type  k 
) 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 540 of file Array.h.

◆ xelem() [7/8]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API T& Array< T, Alloc >::xelem ( octave_idx_type  n)
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 524 of file Array.h.

References n.

Referenced by ComplexMatrix::ComplexMatrix(), ComplexNDArray::ComplexNDArray(), FloatComplexMatrix::FloatComplexMatrix(), FloatComplexNDArray::FloatComplexNDArray(), FloatNDArray::FloatNDArray(), idx_vector::idx_vector_rep::idx_vector_rep(), intNDArray< T >::abs(), SparseBoolMatrix::any(), octave_value_list::array_value(), DiagArray2< T >::array_value(), range< T, typename std::enable_if< std::is_floating_point< T >::value >::type >::array_value(), Sparse< T, Alloc >::array_value(), idx_vector::idx_range_rep::as_array(), idx_vector::idx_mask_rep::as_array(), as_bool_nd_array(), as_nd_array(), type_info::assign_ops_map(), type_info::assignany_ops_map(), type_info::binary_ops_map(), Cell::cellstr_value(), octave_char_matrix_str::cellstr_value(), chol2inv_internal(), Cell::column(), column_norms(), type_info::compound_binary_ops_map(), DiagArray2< T >::dgxelem(), dmsolve_extract(), do_cellslices_nda(), do_gsvd(), do_mat2cell(), do_mat2cell_2d(), do_mat2cell_nd(), do_num2cell(), do_numeric_lookup(), do_object2cell(), do_rand(), do_rc_map(), Array< T, Alloc >::elem(), elem_xpow(), RowVector::extract(), FloatRowVector::extract(), ColumnVector::extract(), FloatColumnVector::extract(), RowVector::extract_n(), FloatRowVector::extract_n(), ColumnVector::extract_n(), FloatColumnVector::extract_n(), F__event_manager_file_dialog__(), F__event_manager_input_dialog__(), F__event_manager_list_dialog__(), F__native2unicode__(), F__unicode2native__(), Famd(), Faudiowrite(), Fcellindexmat(), Fcellslices(), Fcomplex(), ComplexColumnVector::fill(), ComplexMatrix::fill(), ComplexRowVector::fill(), FloatComplexColumnVector::fill(), FloatComplexMatrix::fill(), FloatComplexRowVector::fill(), FloatMatrix::fill(), FloatRowVector::fill(), FloatColumnVector::fill(), cdef_object_array::fill_empty_values(), find_nonzero_elem_idx(), Flookup(), Fordschur(), qr< T >::form(), Fpow2(), Fsize(), SparseComplexMatrix::fsolve(), SparseMatrix::fsolve(), Fstruct2cell(), lu< T >::getp(), Array< T, Alloc >::hermitian(), hex2num(), imag(), Sparse< T, Alloc >::index(), ComplexColumnVector::insert(), FloatComplexColumnVector::insert(), FloatColumnVector::insert(), FloatComplexMatrix::insert(), FloatComplexRowVector::insert(), FloatRowVector::insert(), FloatMatrix::insert(), ComplexMatrix::insert(), ComplexRowVector::insert(), idx_vector::inverse_permutation(), is_handle_visible(), ishghandle(), kron(), linspace(), SparseComplexMatrix::ltsolve(), SparseMatrix::ltsolve(), LuAminusSigmaB(), map_2_xldexp(), map_2_xlog2(), Range::matrix_value(), type_info::non_const_unary_ops_map(), norm1(), octave_scalar_map::orderfields(), octave_map::orderfields(), sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::P(), lu< T >::P_vec(), sparse_lu< lu_type >::Pc_vec(), octave_base_diag< DMT, MT >::permute(), sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::Pinv(), sparse_lu< lu_type >::Pr_vec(), put_int(), qp(), 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(), Array< T, Alloc >::transpose(), PermMatrix::transpose(), type_info::unary_ops_map(), idx_vector::idx_vector_rep::unconvert(), idx_vector::idx_mask_rep::unconvert(), Table::updateData(), SparseComplexMatrix::utsolve(), SparseMatrix::utsolve(), DiagArray2< T >::xelem(), and xgemm().

◆ xelem() [8/8]

template<typename T , typename Alloc >
OCTARRAY_OVERRIDABLE_FUNC_API crefT Array< T, Alloc >::xelem ( octave_idx_type  n) 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 526 of file Array.h.

References n.

Friends And Related Function Documentation

◆ Array

template<typename T , typename Alloc >
template<typename U , typename A >
friend class Array
friend

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 947 of file Array.h.

Member Data Documentation

◆ m_dimensions

◆ m_rep

template<typename T , typename Alloc >
Array<T, Alloc>::ArrayRep* Array< T, Alloc >::m_rep
protected

Definition at line 247 of file Array.h.

Referenced by Array< T, Alloc >::Array(), and Array< T, Alloc >::operator=().

◆ m_slice_data

template<typename T , typename Alloc >
T* Array< T, Alloc >::m_slice_data
protected

Definition at line 256 of file Array.h.

Referenced by Array< T, Alloc >::Array(), and Array< T, Alloc >::operator=().

◆ m_slice_len

template<typename T , typename Alloc >
octave_idx_type Array< T, Alloc >::m_slice_len
protected

Definition at line 257 of file Array.h.

Referenced by Array< T, Alloc >::operator=().


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