GNU Octave
4.2.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
|
N Dimensional Array with copy-on-write semantics. More...
#include "Array.h"
Classes | |
class | ArrayRep |
The real representation of all arrays. More... | |
Public Types | |
typedef bool(* | compare_fcn_type )(typename ref_param< T >::type, typename ref_param< T >::type) |
typedef ref_param< T >::type | crefT |
typedef T | element_type |
typedef octave_idx_type | size_type |
Used for operator(), and returned by numel() and size() (beware: signed integer) More... | |
typedef T | value_type |
Public Member Functions | |
Array (void) | |
Empty ctor (0 by 0). More... | |
Array (const dim_vector &dv) | |
nD uninitialized ctor. More... | |
Array (const dim_vector &dv, const T &val) | |
nD initialized ctor. More... | |
Array (const Array< T > &a, const dim_vector &dv) | |
Reshape constructor. More... | |
template<template< typename...> class Container> | |
Array (const Container< T > &a, const dim_vector &dv) | |
Constructor from standard library sequence containers. More... | |
template<typename U > | |
Array (const Array< U > &a) | |
Type conversion case. More... | |
Array (const Array< T > &a) | |
No type conversion case. More... | |
virtual | ~Array (void) |
Array< T > | as_column (void) const |
Return the array as a column vector. More... | |
Array< T > | as_matrix (void) const |
Return the array as a matrix. More... | |
Array< T > | as_row (void) const |
Return the array as a row vector. More... | |
size_t | byte_size (void) const |
T & | checkelem (octave_idx_type n) |
T & | checkelem (octave_idx_type i, octave_idx_type j) |
T & | checkelem (octave_idx_type i, octave_idx_type j, octave_idx_type k) |
T & | checkelem (const Array< octave_idx_type > &ra_idx) |
crefT | checkelem (octave_idx_type n) const |
crefT | checkelem (octave_idx_type i, octave_idx_type j) const |
crefT | checkelem (octave_idx_type i, octave_idx_type j, octave_idx_type k) const |
crefT | checkelem (const Array< octave_idx_type > &ra_idx) const |
void | clear (void) |
void | clear (const dim_vector &dv) |
void | clear (octave_idx_type r, octave_idx_type c) |
Array< T > | column (octave_idx_type k) const |
Extract column: A(:,k+1). More... | |
octave_idx_type | compute_index (octave_idx_type i, octave_idx_type j) const |
octave_idx_type | compute_index (octave_idx_type i, octave_idx_type j, octave_idx_type k) const |
octave_idx_type | compute_index (const Array< octave_idx_type > &ra_idx) const |
octave_idx_type | compute_index_unchecked (const Array< octave_idx_type > &ra_idx) const |
const T * | data (void) const |
Array< T > | diag (octave_idx_type k=0) const |
Get the kth super or subdiagonal. More... | |
Array< T > | diag (octave_idx_type m, octave_idx_type n) const |
const dim_vector & | dims (void) const |
Return a const-reference so that dims ()(i) works efficiently. More... | |
T & | elem (octave_idx_type n) |
T & | elem (octave_idx_type i, octave_idx_type j) |
T & | elem (octave_idx_type i, octave_idx_type j, octave_idx_type k) |
T & | elem (const Array< octave_idx_type > &ra_idx) |
crefT | elem (octave_idx_type n) const |
crefT | elem (octave_idx_type i, octave_idx_type j) const |
crefT | elem (octave_idx_type i, octave_idx_type j, octave_idx_type k) const |
crefT | elem (const Array< octave_idx_type > &ra_idx) const |
void | fill (const T &val) |
template<> | |
Array< octave_idx_type > | find (octave_idx_type, bool) const |
Array< octave_idx_type > | find (octave_idx_type n=-1, bool backward=false) const |
Find indices of (at most n) nonzero elements. More... | |
const T * | fortran_vec (void) const |
T * | fortran_vec (void) |
Array< T > | hermitian (T(*fcn)(const T &)=0) const |
Array< T > & | insert (const Array< T > &a, const Array< octave_idx_type > &idx) |
Insert an array into another at a specified position. More... | |
Array< T > & | insert (const Array< T > &a, octave_idx_type r, octave_idx_type c) |
This is just a special case for idx = [r c 0 ...]. More... | |
Array< T > | ipermute (const Array< octave_idx_type > &vec) const |
bool | is_empty (void) const |
bool | is_shared (void) |
template<> | |
sortmode | is_sorted (sortmode) const |
sortmode | is_sorted (sortmode mode=UNSORTED) const |
Ordering is auto-detected or can be specified. More... | |
template<> | |
sortmode | is_sorted_rows (sortmode) const |
sortmode | is_sorted_rows (sortmode mode=UNSORTED) const |
Ordering is auto-detected or can be specified. More... | |
bool | is_square (void) const |
bool | is_vector (void) const |
Array< T > | linear_slice (octave_idx_type lo, octave_idx_type up) const |
Extract a slice from this array as a column vector: A(:)(lo+1:up). More... | |
template<> | |
octave_idx_type | lookup (idx_vector const &, sortmode) const |
template<> | |
Array< octave_idx_type > | lookup (const Array< idx_vector > &, sortmode) const |
octave_idx_type | lookup (const T &value, sortmode mode=UNSORTED) const |
Do a binary lookup in a sorted array. More... | |
Array< octave_idx_type > | lookup (const Array< T > &values, sortmode mode=UNSORTED) const |
Ditto, but for an array of values, specializing on the case when values are sorted. More... | |
void | make_unique (void) |
template<typename U , typename F > | |
Array< U > | map (F fcn) const |
Apply function fcn to each element of the Array<T>. More... | |
void | maybe_economize (void) |
void * | mex_get_data (void) const |
Give a pointer to the data in mex format. More... | |
int | ndims (void) const |
template<> | |
octave_idx_type | nnz (void) const |
octave_idx_type | nnz (void) const |
Count nonzero elements. More... | |
template<> | |
Array< idx_vector > | nth_element (const idx_vector &, int) const |
Array< T > | nth_element (const idx_vector &n, int dim=0) const |
Returns the n-th element in increasing order, using the same ordering as used for sort. More... | |
T & | operator() (octave_idx_type n) |
T & | operator() (octave_idx_type i, octave_idx_type j) |
T & | operator() (octave_idx_type i, octave_idx_type j, octave_idx_type k) |
T & | operator() (const Array< octave_idx_type > &ra_idx) |
crefT | operator() (octave_idx_type n) const |
crefT | operator() (octave_idx_type i, octave_idx_type j) const |
crefT | operator() (octave_idx_type i, octave_idx_type j, octave_idx_type k) const |
crefT | operator() (const Array< octave_idx_type > &ra_idx) const |
Array< T > & | operator= (const Array< T > &a) |
bool | optimize_dimensions (const dim_vector &dv) |
Returns true if this->dims () == dv, and if so, replaces this->dimensions by a shallow copy of dv. More... | |
Array< T > | page (octave_idx_type k) const |
Extract page: A(:,:,k+1). More... | |
Array< T > | permute (const Array< octave_idx_type > &vec, bool inv=false) const |
void | print_info (std::ostream &os, const std::string &prefix) const |
Array< T > | reshape (octave_idx_type nr, octave_idx_type nc) const |
Array< T > | reshape (const dim_vector &new_dims) const |
virtual T | resize_fill_value (void) const |
size_type | size (const size_type d) const |
Size of the specified dimension. More... | |
template<> | |
Array< idx_vector > | sort (int, sortmode) const |
template<> | |
Array< idx_vector > | sort (Array< octave_idx_type > &sidx, int, sortmode) const |
Array< T > | sort (int dim=0, sortmode mode=ASCENDING) const |
Array< T > | sort (Array< octave_idx_type > &sidx, int dim=0, sortmode mode=ASCENDING) const |
template<> | |
Array< octave_idx_type > | sort_rows_idx (sortmode) const |
Array< octave_idx_type > | sort_rows_idx (sortmode mode=ASCENDING) const |
Sort by rows returns only indices. More... | |
Array< T > | squeeze (void) const |
Chop off leading singleton dimensions. More... | |
template<typename F , bool zero> | |
bool | test (F fcn) const |
Generic any/all test functionality with arbitrary predicate. More... | |
Array< T > | transpose (void) const |
T & | xelem (octave_idx_type n) |
crefT | xelem (octave_idx_type n) const |
T & | xelem (octave_idx_type i, octave_idx_type j) |
crefT | xelem (octave_idx_type i, octave_idx_type j) const |
T & | xelem (octave_idx_type i, octave_idx_type j, octave_idx_type k) |
crefT | xelem (octave_idx_type i, octave_idx_type j, octave_idx_type k) const |
T & | xelem (const Array< octave_idx_type > &ra_idx) |
crefT | xelem (const Array< octave_idx_type > &ra_idx) const |
octave_idx_type | capacity (void) const |
Number of elements in the array. More... | |
octave_idx_type | length (void) const |
Number of elements in the array. More... | |
octave_idx_type | nelem (void) const |
Number of elements in the array. More... | |
octave_idx_type | numel (void) const |
Number of elements in the array. More... | |
First dimension | |
Get the first dimension of the array (number of rows) | |
octave_idx_type | dim1 (void) const |
octave_idx_type | rows (void) const |
Second dimension | |
Get the second dimension of the array (number of columns) | |
octave_idx_type | dim2 (void) const |
octave_idx_type | cols (void) const |
octave_idx_type | columns (void) const |
Third dimension | |
Get the third dimension of the array (number of pages) | |
octave_idx_type | dim3 (void) const |
octave_idx_type | pages (void) const |
Array< T > | index (const idx_vector &i) const |
Indexing without resizing. More... | |
Array< T > | index (const idx_vector &i, const idx_vector &j) const |
Array< T > | index (const Array< idx_vector > &ia) const |
void | resize2 (octave_idx_type nr, octave_idx_type nc, const T &rfv) |
Resizing (with fill). More... | |
void | resize2 (octave_idx_type nr, octave_idx_type nc) |
void | resize1 (octave_idx_type n, const T &rfv) |
void | resize1 (octave_idx_type n) |
void | resize (const dim_vector &dv, const T &rfv) |
void | resize (const dim_vector &dv) |
Array< T > | index (const idx_vector &i, bool resize_ok, const T &rfv) const |
Indexing with possible resizing and fill. More... | |
Array< T > | index (const idx_vector &i, bool resize_ok) const |
Array< T > | index (const idx_vector &i, const idx_vector &j, bool resize_ok, const T &rfv) const |
Array< T > | index (const idx_vector &i, const idx_vector &j, bool resize_ok) const |
Array< T > | index (const Array< idx_vector > &ia, bool resize_ok, const T &rfv) const |
Array< T > | index (const Array< idx_vector > &ia, bool resize_ok) const |
void | assign (const idx_vector &i, const Array< T > &rhs, const T &rfv) |
Indexed assignment (always with resize & fill). More... | |
void | assign (const idx_vector &i, const Array< T > &rhs) |
void | assign (const idx_vector &i, const idx_vector &j, const Array< T > &rhs, const T &rfv) |
void | assign (const idx_vector &i, const idx_vector &j, const Array< T > &rhs) |
void | assign (const Array< idx_vector > &ia, const Array< T > &rhs, const T &rfv) |
void | assign (const Array< idx_vector > &ia, const Array< T > &rhs) |
void | delete_elements (const idx_vector &i) |
Deleting elements. More... | |
void | delete_elements (int dim, const idx_vector &i) |
A(:,...,I,...,:) = [] (>= 2 subscripts, one of them is non-colon) More... | |
void | delete_elements (const Array< idx_vector > &ia) |
Dispatcher to the above two. More... | |
template<typename U > | |
Array< U > | map (U(&fcn)(T)) const |
Overloads for function references. More... | |
template<typename U > | |
Array< U > | map (U(&fcn)(const T &)) const |
template<typename F > | |
bool | test_any (F fcn) const |
Simpler calls. More... | |
template<typename F > | |
bool | test_all (F fcn) const |
bool | test_any (bool(&fcn)(T)) const |
Overloads for function references. More... | |
bool | test_any (bool(&fcn)(const T &)) const |
bool | test_all (bool(&fcn)(T)) const |
bool | test_all (bool(&fcn)(const T &)) const |
int * | jit_ref_count (void) |
WARNING: Only call these functions from jit. More... | |
T * | jit_slice_data (void) const |
octave_idx_type * | jit_dimensions (void) const |
void * | jit_array_rep (void) const |
Static Public Member Functions | |
static Array< T > | cat (int dim, octave_idx_type n, const Array< T > *array_list) |
Concatenation along a specified (0-based) dimension, equivalent to cat(). More... | |
Protected Member Functions | |
Array (const Array< T > &a, const dim_vector &dv, octave_idx_type l, octave_idx_type u) | |
slice constructor More... | |
Array (T *sdata, octave_idx_type slen, octave_idx_type *adims, void *arep) | |
For jit support. More... | |
Protected Attributes | |
dim_vector | dimensions |
Array< T >::ArrayRep * | rep |
T * | slice_data |
octave_idx_type | slice_len |
Private Member Functions | |
template<> | |
void | instantiation_guard () |
template<> | |
void | instantiation_guard () |
template<> | |
void | instantiation_guard () |
template<> | |
void | instantiation_guard () |
template<> | |
void | instantiation_guard () |
template<> | |
void | instantiation_guard () |
template<> | |
void | instantiation_guard () |
template<> | |
void | instantiation_guard () |
template<> | |
void | instantiation_guard () |
template<> | |
void | instantiation_guard () |
template<> | |
void | instantiation_guard () |
Static Private Member Functions | |
static void | instantiation_guard () |
static Array< T >::ArrayRep * | nil_rep (void) |
Friends | |
template<typename U > | |
class | Array |
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.
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.
The methods size() and length() as they exist in the STL cause confusion in the context of a N dimensional array.
The size() of an array is the length of all dimensions. In Octave, the size() function returns a row vector with the length of each dimension, or the size of a specific dimension. Only the latter is present in liboctave.
Since there is more than 1 dimension, length() would not make sense without expliciting which dimension. If the function existed, which length should it return? Octave length() function returns the length of the longest dimension which is an odd definition, only useful for vectors and square matrices. The alternatives numel(), rows(), columns(), and size(d) are more explict and recommended.
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.
The following subclasses specializations, will be of most use:
typedef T Array< T >::element_type |
typedef octave_idx_type Array< T >::size_type |
typedef T Array< T >::value_type |
|
inlineprotected |
|
inlineprotected |
|
inlineexplicit |
|
inlineexplicit |
Array< T >::Array | ( | const Array< T > & | a, |
const dim_vector & | dv | ||
) |
Reshape constructor.
Definition at line 59 of file Array.cc.
References dim_vector::chop_trailing_singletons(), Array< T >::ArrayRep::count, Array< T >::dimensions, Array< T >::numel(), Array< T >::rep, dim_vector::safe_numel(), dim_vector::str(), and string.
Array< T >::Array | ( | const Container< T > & | a, |
const dim_vector & | dv | ||
) |
Constructor from standard library sequence containers.
Definition at line 862 of file Array.h.
References dim_vector::chop_trailing_singletons(), dim_vector::safe_numel(), dim_vector::str(), string, and x.
Return the array as a column vector.
Definition at line 367 of file Array.h.
Referenced by patch::properties::update_fvc().
Return the array as a matrix.
Definition at line 387 of file Array.h.
Referenced by Sparse< T >::index().
void Array< T >::assign | ( | const idx_vector & | i, |
const Array< T > & | rhs, | ||
const T & | rfv | ||
) |
Indexed assignment (always with resize & fill).
Definition at line 1133 of file Array.cc.
References idx_vector::assign(), Array< T >::data(), Array< T >::dims(), octave::err_nonconformant(), idx_vector::extent(), idx_vector::fill(), idx_vector::is_colon_equiv(), idx_vector::length(), numel(), Array< T >::numel(), and Array< T >::reshape().
Referenced by Cell::assign(), Sparse< T >::assign(), octave_jit_paren_subsasgn_matrix_range(), octave_value_list::octave_value_list(), and cdef_object_array::subsasgn().
|
inline |
void Array< T >::assign | ( | const idx_vector & | i, |
const idx_vector & | j, | ||
const Array< T > & | rhs, | ||
const T & | rfv | ||
) |
Definition at line 1180 of file Array.cc.
References idx_vector::assign(), c, dim_vector::chop_all_singletons(), Array< T >::data(), Array< T >::dim1(), Array< T >::dim2(), Array< T >::dims(), dv, octave::err_nonconformant(), idx_vector::extent(), idx_vector::fill(), idx_vector::is_colon_equiv(), k, idx_vector::length(), idx_vector::maybe_reduce(), dim_vector::ndims(), numel(), Array< T >::numel(), dim_vector::redim(), Array< T >::reshape(), idx_vector::xelem(), dim_vector::zero_by_zero(), and zero_dims_inquire().
|
inline |
void Array< T >::assign | ( | const Array< idx_vector > & | ia, |
const Array< T > & | rhs, | ||
const T & | rfv | ||
) |
Definition at line 1284 of file Array.cc.
References dim_vector::alloc(), rec_index_helper::assign(), dim_vector::chop_all_singletons(), dim_vector::chop_trailing_singletons(), Array< T >::data(), Array< T >::dims(), dv, octave::err_nonconformant(), rec_index_helper::fill(), Array< T >::length(), dim_vector::ndims(), Array< T >::numel(), dim_vector::redim(), Array< T >::reshape(), dim_vector::zero_by_zero(), and zero_dims_inquire().
|
inline |
Definition at line 435 of file Array.h.
Referenced by PermMatrix::byte_size(), DiagArray2< Complex >::byte_size(), octave_cell::byte_size(), octave_perm_matrix::load_binary(), and octave_perm_matrix::save_binary().
|
inline |
|
static |
Concatenation along a specified (0-based) dimension, equivalent to cat().
dim = -1 corresponds to dim = 0 and dim = -2 corresponds to dim = 1, but apply the looser matching rules of vertcat/horzcat.
Definition at line 2630 of file Array.cc.
References idx_vector::colon, dim_vector::concat(), Array< T >::dims(), dv, dim_vector::hvcat(), max(), dim_vector::ndims(), retval, u, and dim_vector::zero_by_zero().
Referenced by single_type_concat().
T & Array< T >::checkelem | ( | octave_idx_type | n | ) |
Definition at line 200 of file Array.cc.
References elem, octave::err_index_out_of_range(), and octave::err_invalid_index().
Referenced by octave_value_typeinfo::do_lookup_assign_op(), octave_value_typeinfo::do_lookup_assignany_op(), octave_value_typeinfo::do_lookup_binary_class_op(), octave_value_typeinfo::do_lookup_binary_op(), octave_value_typeinfo::do_lookup_cat_op(), octave_value_typeinfo::do_lookup_pref_assign_conv(), octave_value_typeinfo::do_lookup_unary_class_op(), octave_value_typeinfo::do_lookup_unary_op(), octave_value_typeinfo::do_lookup_widening_op(), octave_value_typeinfo::do_register_assign_op(), octave_value_typeinfo::do_register_assignany_op(), octave_value_typeinfo::do_register_binary_class_op(), octave_value_typeinfo::do_register_binary_op(), octave_value_typeinfo::do_register_cat_op(), octave_value_typeinfo::do_register_pref_assign_conv(), octave_value_typeinfo::do_register_unary_class_op(), octave_value_typeinfo::do_register_unary_op(), and PermMatrix::operator()().
T & Array< T >::checkelem | ( | octave_idx_type | i, |
octave_idx_type | j | ||
) |
Definition at line 213 of file Array.cc.
References compute_index(), and elem.
T & Array< T >::checkelem | ( | octave_idx_type | i, |
octave_idx_type | j, | ||
octave_idx_type | k | ||
) |
Definition at line 220 of file Array.cc.
References compute_index(), and elem.
T & Array< T >::checkelem | ( | const Array< octave_idx_type > & | ra_idx | ) |
Definition at line 227 of file Array.cc.
References compute_index(), and elem.
Array< T >::crefT Array< T >::checkelem | ( | octave_idx_type | n | ) | const |
Definition at line 234 of file Array.cc.
References elem, octave::err_index_out_of_range(), and octave::err_invalid_index().
Array< T >::crefT Array< T >::checkelem | ( | octave_idx_type | i, |
octave_idx_type | j | ||
) | const |
Definition at line 247 of file Array.cc.
References compute_index(), and elem.
Array< T >::crefT Array< T >::checkelem | ( | octave_idx_type | i, |
octave_idx_type | j, | ||
octave_idx_type | k | ||
) | const |
Definition at line 254 of file Array.cc.
References compute_index(), and elem.
Array< T >::crefT Array< T >::checkelem | ( | const Array< octave_idx_type > & | ra_idx | ) | const |
Definition at line 262 of file Array.cc.
References compute_index(), and elem.
void Array< T >::clear | ( | void | ) |
Definition at line 95 of file Array.cc.
Referenced by octave_char_matrix_str::cellstr_value(), RowVector::clear(), FloatRowVector::clear(), ColumnVector::clear(), FloatColumnVector::clear(), ComplexRowVector::clear(), FloatComplexRowVector::clear(), ComplexColumnVector::clear(), FloatComplexColumnVector::clear(), octave_rand::do_float_nd_array(), octave_rand::do_float_vector(), octave_rand::do_nd_array(), octave_rand::do_vector(), octave_fields::equal_up_to_order(), Array< T >::find(), Range::index(), octave_fields::orderfields(), read_mat5_binary_element(), single_type_concat(), idx_vector::idx_range_rep::sort_idx(), idx_vector::idx_scalar_rep::sort_idx(), idx_vector::idx_vector_rep::sort_idx(), and idx_vector::idx_mask_rep::sort_idx().
void Array< T >::clear | ( | const dim_vector & | dv | ) |
Definition at line 110 of file Array.cc.
References dim_vector::chop_trailing_singletons(), Array< T >::ArrayRep::data, dv, and dim_vector::safe_numel().
|
inline |
|
inline |
Definition at line 409 of file Array.h.
Referenced by aepbalance< T >::aepbalance(), octave::math::airy(), Matrix::append(), FloatMatrix::append(), ComplexMatrix::append(), FloatComplexMatrix::append(), octave::math::biry(), SparseMatrix::bsolve(), SparseComplexMatrix::bsolve(), octave::math::sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::C(), chol2inv_internal(), cntr(), ComplexMatrix::ComplexMatrix(), dmsolve_insert(), dmsolve_permute(), octave::math::do_bessel(), drawcn(), SparseComplexMatrix::dsolve(), SparseMatrix::dsolve(), elem_xpow(), FloatComplexMatrix::FloatComplexMatrix(), FloatMatrix::FloatMatrix(), Matrix::fsolve(), FloatMatrix::fsolve(), ComplexMatrix::fsolve(), FloatComplexMatrix::fsolve(), SparseMatrix::fsolve(), SparseComplexMatrix::fsolve(), octave::math::gammainc(), EIG::hermitian_init(), FloatEIG::hermitian_init(), Sparse< T >::index(), hess< T >::init(), gepbalance< T >::init(), qrp< T >::init(), schur< T >::init(), EIG::init(), FloatEIG::init(), chol< T >::init(), qr< T >::init(), ComplexMatrix::insert(), FloatComplexMatrix::insert(), kron(), Matrix::lssolve(), FloatMatrix::lssolve(), ComplexMatrix::lssolve(), FloatComplexMatrix::lssolve(), Matrix::ltsolve(), FloatMatrix::ltsolve(), SparseMatrix::ltsolve(), SparseComplexMatrix::ltsolve(), ComplexMatrix::ltsolve(), FloatComplexMatrix::ltsolve(), lu< T >::lu(), LuAminusSigmaB(), make_cholb(), mark_facets(), Matrix::Matrix(), matrix_real_probe(), null(), operator*(), ComplexMatrix::operator+=(), FloatComplexMatrix::operator+=(), ComplexMatrix::operator-=(), FloatComplexMatrix::operator-=(), operator<<(), boolMatrix::operator==(), charMatrix::operator==(), FloatMatrix::operator==(), Matrix::operator==(), ComplexMatrix::operator==(), FloatComplexMatrix::operator==(), operator>>(), octave_char_matrix_str::save_ascii(), octave_cell::save_ascii(), save_mat_ascii_data(), save_mat_binary_data(), log_scaler::scale(), neg_log_scaler::scale(), Matrix::stack(), FloatMatrix::stack(), ComplexMatrix::stack(), FloatComplexMatrix::stack(), stack_complex_matrix(), EIG::symmetric_init(), FloatEIG::symmetric_init(), octave::math::sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::tall_solve(), SparseMatrix::trisolve(), SparseComplexMatrix::trisolve(), octave_bool_matrix::try_narrowing_conversion(), unstack_complex_matrix(), lu< T >::update(), qr< T >::update(), lu< T >::update_piv(), Matrix::utsolve(), FloatMatrix::utsolve(), SparseMatrix::utsolve(), SparseComplexMatrix::utsolve(), ComplexMatrix::utsolve(), FloatComplexMatrix::utsolve(), vector_product(), octave::math::sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::wide_solve(), xgemm(), and xpow().
Array< T > Array< T >::column | ( | octave_idx_type | k | ) | const |
Extract column: A(:,k+1).
Definition at line 269 of file Array.cc.
References octave::err_index_out_of_range().
Referenced by qp().
|
inline |
Definition at line 410 of file Array.h.
Referenced by column_norms(), octave_float_complex_matrix::diag(), octave_complex_matrix::diag(), octave_float_matrix::diag(), octave_matrix::diag(), do_fftn(), do_mgorth(), do_tril(), do_triu(), octave::opengl_renderer::draw_patch(), octave::opengl_renderer::draw_surface(), F__dsearchn__(), F__octave_link_file_dialog__(), F__pchip_deriv__(), G__delaunayn__(), G__voronoi__(), Gconvhulln(), hex2num(), Array< T >::index(), Array< T >::insert(), qr< T >::insert_col(), mark_upper_triangular(), max(), min(), octave_print_internal(), operator*(), pr_max_internal(), pr_min_internal(), row_norms(), octave::math::rsf2csf< ComplexMatrix, Matrix >(), octave::math::rsf2csf< FloatComplexMatrix, FloatMatrix >(), graphics_xform::scale(), graphics_object::set(), lu< T >::update(), patch::properties::update_data(), patch::properties::update_fvc(), lu< T >::update_piv(), surface::properties::update_vertex_normals(), and x_el_div().
octave_idx_type Array< T >::compute_index | ( | octave_idx_type | i, |
octave_idx_type | j | ||
) | const |
Definition at line 178 of file Array.cc.
References compute_index().
octave_idx_type Array< T >::compute_index | ( | octave_idx_type | i, |
octave_idx_type | j, | ||
octave_idx_type | k | ||
) | const |
Definition at line 185 of file Array.cc.
References compute_index().
octave_idx_type Array< T >::compute_index | ( | const Array< octave_idx_type > & | ra_idx | ) | const |
Definition at line 193 of file Array.cc.
References compute_index().
|
inline |
|
inline |
Definition at line 582 of file Array.h.
Referenced by mxArray_octave_value::array_to_string(), octave_struct::as_mxArray(), octave_char_matrix::as_mxArray(), octave_float_complex_matrix::as_mxArray(), octave_complex_matrix::as_mxArray(), octave_float_matrix::as_mxArray(), octave_bool_matrix::as_mxArray(), octave_matrix::as_mxArray(), octave_scalar_struct::as_mxArray(), octave_range::as_mxArray(), Array< T >::assign(), binmap(), Cell::Cell(), compute_index(), Array< octave_value >::compute_index_unchecked(), convert_cdata(), DiagArray2< Complex >::data(), do_mm_binary_op(), do_mm_inplace_op(), do_ms_binary_op(), do_mx_check(), do_mx_cumminmax_op(), do_mx_diff_op(), do_mx_minmax_op(), do_mx_unary_op(), do_sm_binary_op(), octave::opengl_selector::draw_image(), octave::opengl_renderer::draw_marker(), octave::opengl_renderer::draw_patch(), octave::opengl_renderer::draw_surface(), octave::opengl_renderer::draw_text(), F__pchip_deriv__(), octave::opengl_selector::fake_text(), Fellipj(), filter(), get_array_limits(), mxArray_octave_value::get_string(), file_editor::handle_edit_mfile_request(), MArray< T >::idx_add(), MArray< T >::idx_add_nd(), idx_vector::idx_mask_rep::idx_mask_rep(), MArray< T >::idx_max(), MArray< T >::idx_min(), octave_char_matrix::index_vector(), qr< T >::insert_col(), Array< float >::is_sorted(), Array< double >::is_sorted(), kron(), Array< T >::lookup(), octinternal_do_mul_pm_sm(), octinternal_do_mul_sm_pm(), operator*(), ComplexRowVector::operator+=(), ComplexColumnVector::operator+=(), FloatComplexRowVector::operator+=(), FloatComplexColumnVector::operator+=(), ComplexMatrix::operator+=(), FloatComplexMatrix::operator+=(), ComplexRowVector::operator-=(), ComplexColumnVector::operator-=(), FloatComplexRowVector::operator-=(), FloatComplexColumnVector::operator-=(), ComplexMatrix::operator-=(), FloatComplexMatrix::operator-=(), boolMatrix::operator==(), RowVector::operator==(), ColumnVector::operator==(), FloatRowVector::operator==(), FloatColumnVector::operator==(), ComplexRowVector::operator==(), ComplexColumnVector::operator==(), FloatComplexRowVector::operator==(), FloatComplexColumnVector::operator==(), charMatrix::operator==(), Matrix::operator==(), FloatMatrix::operator==(), ComplexMatrix::operator==(), FloatComplexMatrix::operator==(), qs_preprocess(), qs_search(), octave::opengl_renderer::render_text(), octave_float_complex_diag_matrix::save_binary(), octave_complex_diag_matrix::save_binary(), octave_float_diag_matrix::save_binary(), octave_diag_matrix::save_binary(), octave_float_complex_matrix::save_binary(), octave_complex_matrix::save_binary(), octave_float_matrix::save_binary(), octave_perm_matrix::save_binary(), octave_matrix::save_binary(), save_mat5_binary_element(), save_mat_binary_data(), log_scaler::scale(), neg_log_scaler::scale(), octave::opengl_renderer::set_clipbox(), octave::opengl_renderer::set_color(), octave::opengl_renderer::setup_opengl_transformation(), Sparse< T >::Sparse(), stack_complex_matrix(), octave::math::sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::tall_solve(), unstack_complex_matrix(), lu< T >::update_piv(), vector_product(), octave::opengl_renderer::patch_tesselator::vertex(), octave::math::sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::wide_solve(), octave_stream::write(), write_mat5_array(), and xgemm().
void Array< T >::delete_elements | ( | const idx_vector & | i | ) |
Deleting elements.
A(I) = [] (with a single subscript)
Definition at line 1407 of file Array.cc.
References idx_vector::complement(), octave::err_del_index_out_of_range(), idx_vector::extent(), Array< T >::fortran_vec(), idx_vector::is_colon(), idx_vector::is_cont_range(), idx_vector::is_scalar(), idx_vector::length(), m, numel(), tmp, and u.
Referenced by Cell::delete_elements(), and octave_map::delete_elements().
void Array< T >::delete_elements | ( | int | dim, |
const idx_vector & | i | ||
) |
A(:,...,I,...,:) = [] (>= 2 subscripts, one of them is non-colon)
Definition at line 1447 of file Array.cc.
References idx_vector::colon, idx_vector::complement(), octave::err_del_index_out_of_range(), idx_vector::extent(), Array< T >::fortran_vec(), idx_vector::is_colon(), idx_vector::is_cont_range(), k, idx_vector::length(), tmp, and u.
void Array< T >::delete_elements | ( | const Array< idx_vector > & | ia | ) |
Dispatcher to the above two.
Definition at line 1503 of file Array.cc.
References dv, k, jit_convention::length, and Array< T >::numel().
Array< T > Array< T >::diag | ( | octave_idx_type | k = 0 | ) | const |
Get the kth super or subdiagonal.
The zeroth diagonal is the ordinary diagonal.
Definition at line 2529 of file Array.cc.
References abs(), d, dims, dv, elem, k, dim_vector::ndims(), Array< T >::resize(), and Array< T >::xelem().
Referenced by intNDArray< T >::diag(), boolMatrix::diag(), boolNDArray::diag(), charNDArray::diag(), Cell::diag(), ComplexNDArray::diag(), FloatComplexNDArray::diag(), FloatNDArray::diag(), NDArray::diag(), matrix_complex_probe(), matrix_real_probe(), and MatrixType::MatrixType().
Array< T > Array< T >::diag | ( | octave_idx_type | m, |
octave_idx_type | n | ||
) | const |
|
inline |
Definition at line 400 of file Array.h.
Referenced by Array< T >::assign(), PermMatrix::numel(), and PermMatrix::rows().
|
inline |
Definition at line 408 of file Array.h.
Referenced by Array< T >::assign(), PermMatrix::cols(), PermMatrix::columns(), PermMatrix::numel(), octave::ft_text_renderer::process_character(), and octave::ft_text_renderer::render().
|
inline |
Definition at line 417 of file Array.h.
Referenced by octave::ft_text_renderer::process_character(), and octave::ft_text_renderer::render().
|
inline |
Return a const-reference so that dims ()(i) works efficiently.
Definition at line 439 of file Array.h.
Referenced by jit_operation::add_overload(), octave::math::airy(), octave_map::assign(), Array< T >::assign(), octave::math::betainc(), octave::math::betaincinv(), binmap(), octave::math::biry(), bitopxx(), axes::properties::calc_ticklabels(), Array< T >::cat(), octave_value::complex_vector_value(), charNDArray::concat(), conv_to_int_array(), convolve(), octave_map::delete_elements(), octave::math::do_bessel(), do_bsxfun_op(), do_inplace_bsxfun_op(), do_mm_binary_op(), do_mm_inplace_op(), do_ms_binary_op(), do_mx_cumminmax_op(), do_mx_diff_op(), do_mx_minmax_op(), do_mx_unary_op(), do_numeric_lookup(), do_rand(), do_rc_map(), do_sm_binary_op(), do_tril(), do_triu(), octave::opengl_renderer::draw_surface(), elem_xpow(), Fellipj(), Ffilter(), filter(), find_nonzero_elem_idx(), Fisfield(), octave_value::float_complex_vector_value(), octave_value::float_vector_value(), octave::math::gammainc(), MArray< T >::idx_add_nd(), idx_vector::idx_mask_rep::idx_mask_rep(), idx_vector::idx_vector_rep::idx_vector_rep(), if(), octave_map::index(), gepbalance< T >::init(), ComplexNDArray::insert(), FloatComplexNDArray::insert(), Array< T >::insert(), octave_value::int_vector_value(), is_handle(), is_handle_visible(), Array< T >::lookup(), octave_float_matrix::map(), octave_matrix::map(), cdef_object::map_value(), NDArray::NDArray(), oct_catop_matrix_struct(), oct_catop_struct_matrix(), octave_value::octave_idx_type_vector_value(), octave_print_internal(), octcellregexp(), jit_operation::overload(), pattern(), octave_map::permute(), octave_cell::print_raw(), log_scaler::scale(), neg_log_scaler::scale(), graphics_xform::scale(), octave_map::setfield(), sizes_cmp(), try_cellfun_internal_ops(), patch::properties::update_data(), patch::properties::update_fvc(), octave_value::vector_value(), and x_el_div().
|
inline |
Definition at line 482 of file Array.h.
Referenced by file_editor_tab::add_octave_apis(), atan2(), aepbalance< T >::balancing_matrix(), octave_float_complex_matrix::char_array_value(), octave_complex_matrix::char_array_value(), octave_float_matrix::char_array_value(), octave_matrix::char_array_value(), octave_range::char_array_value(), Matrix::column_max(), FloatMatrix::column_max(), ComplexMatrix::column_max(), FloatComplexMatrix::column_max(), Matrix::column_min(), FloatMatrix::column_min(), ComplexMatrix::column_min(), FloatComplexMatrix::column_min(), ComplexMatrix::ComplexMatrix(), charNDArray::concat(), FloatNDArray::concat(), NDArray::concat(), ddaspk_f(), ddaspk_j(), ddasrt_j(), ddassl_f(), ddassl_j(), delete_graphics_objects(), DiagArray2< Complex >::dgelem(), dmsolve_extract(), LSODE::do_integrate(), DiagArray2< Complex >::elem(), DiagArray2< T >::elem(), Array< octave_value >::elem(), charMatrix::extract(), DiagMatrix::extract(), FloatDiagMatrix::extract(), ComplexRowVector::extract(), ComplexColumnVector::extract(), FloatComplexRowVector::extract(), FloatComplexColumnVector::extract(), ComplexDiagMatrix::extract(), FloatComplexDiagMatrix::extract(), ComplexRowVector::extract_n(), ComplexColumnVector::extract_n(), FloatComplexRowVector::extract_n(), FloatComplexColumnVector::extract_n(), Ffunctions(), FloatDiagMatrix::fill(), DiagMatrix::fill(), ComplexDiagMatrix::fill(), FloatComplexDiagMatrix::fill(), FloatComplexMatrix::FloatComplexMatrix(), FloatMatrix::FloatMatrix(), qr< T >::form(), SparseComplexMatrix::fsolve(), text::properties::get_fontsize_points(), octave_rand::get_internal_state(), Givens(), Gsymrcm(), hex2num(), FloatEIG::init(), EIG::init(), RowVector::insert(), ColumnVector::insert(), FloatRowVector::insert(), FloatColumnVector::insert(), ComplexRowVector::insert(), ComplexColumnVector::insert(), FloatComplexColumnVector::insert(), FloatComplexRowVector::insert(), ComplexNDArray::insert(), Matrix::insert(), FloatComplexNDArray::insert(), FloatMatrix::insert(), ComplexMatrix::insert(), FloatComplexMatrix::insert(), octave_value::int_vector_value(), DASPK::integrate(), DASSL::integrate(), DASRT::integrate(), octave_cell::load_ascii(), octave_bool_matrix::load_ascii(), octave_cell::load_binary(), octave_cell::load_hdf5(), octave_bool_matrix::load_hdf5(), lsode_f(), Matrix::lssolve(), FloatMatrix::lssolve(), ComplexMatrix::lssolve(), FloatComplexMatrix::lssolve(), Matrix::Matrix(), matrix_real_probe(), SparseBoolMatrix::matrix_value(), SparseMatrix::max(), SparseComplexMatrix::max(), SparseMatrix::min(), SparseComplexMatrix::min(), octave_value::octave_idx_type_vector_value(), intNDArray< T >::operator!(), boolMatrix::operator!(), PermMatrix::operator()(), operator*(), operator<<(), operator>>(), string_vector::operator[](), parse_dbfunction_params(), Array< T >::permute(), plus_or_minus(), Matrix::pseudo_inverse(), FloatMatrix::pseudo_inverse(), ComplexMatrix::pseudo_inverse(), FloatComplexMatrix::pseudo_inverse(), Matrix::row_max(), FloatMatrix::row_max(), ComplexMatrix::row_max(), FloatComplexMatrix::row_max(), Matrix::row_min(), FloatMatrix::row_min(), ComplexMatrix::row_min(), FloatComplexMatrix::row_min(), octave_cell::save_ascii(), octave_cell::save_binary(), octave_cell::save_hdf5(), graphics_object::set(), octave_rand::set_internal_state(), Sparse< T >::Sparse(), try_cellfun_internal_ops(), text::properties::update_fontunits(), and x_el_div().
|
inline |
Definition at line 488 of file Array.h.
Referenced by Array< octave_value >::elem().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
void Array< T >::fill | ( | const T & | val | ) |
Definition at line 81 of file Array.cc.
References numel().
Referenced by quotient(), and idx_vector::idx_scalar_rep::sort_idx().
Array< octave_idx_type > Array< idx_vector >::find | ( | octave_idx_type | , |
bool | |||
) | const |
Definition at line 39 of file Array-idx-vec.cc.
Array< octave_idx_type > Array< T >::find | ( | octave_idx_type | n = -1 , |
bool | backward = false |
||
) | const |
Find indices of (at most n) nonzero elements.
If n is specified, backward specifies search from backward.
Definition at line 2246 of file Array.cc.
References Array< T >::clear(), Array< T >::dimensions, dims, Array< T >::fortran_vec(), Array< T >::is_empty(), k, numel(), Array< T >::numel(), Array< T >::resize2(), retval, and zero.
Referenced by idx_vector::idx_mask_rep::as_array(), and find_nonzero_elem_idx().
|
inline |
Definition at line 584 of file Array.h.
Referenced by SparseBoolMatrix::any(), idx_vector::idx_vector_rep::as_array(), mxArray_number::as_octave_value(), mxArray_struct::as_octave_value(), mxArray_cell::as_octave_value(), Sparse< T >::assign(), aepbalance< T >::balancing_matrix(), octave::math::betainc(), octave::math::betaincinv(), OCTAVE_VALUE_INT_MATRIX_T::bool_array_value(), box(), box_more(), SparseMatrix::bsolve(), SparseComplexMatrix::bsolve(), octave::math::sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::C(), cam2xform(), OCTAVE_VALUE_INT_MATRIX_T::char_array_value(), chol2inv_internal(), idx_vector::complement(), OCTAVE_VALUE_INT_MATRIX_T::complex_matrix_value(), convert_cdata(), convolve(), Array< T >::delete_elements(), SparseMatrix::determinant(), SparseComplexMatrix::determinant(), Matrix::determinant(), FloatMatrix::determinant(), ComplexMatrix::determinant(), FloatComplexMatrix::determinant(), dmsolve_insert(), dmsolve_permute(), do_bsxfun_op(), octave_rand::do_float_nd_array(), octave_rand::do_float_vector(), do_inplace_bsxfun_op(), LSODE::do_integrate(), DASPK::do_integrate(), DASSL::do_integrate(), DefQuad::do_integrate(), IndefQuad::do_integrate(), FloatDefQuad::do_integrate(), FloatIndefQuad::do_integrate(), do_mm_binary_op(), do_mm_inplace_op(), do_ms_binary_op(), do_ms_inplace_op(), do_mx_cumminmax_op(), do_mx_diff_op(), do_mx_inplace_op(), do_mx_minmax_op(), octave_rand::do_nd_array(), do_rand(), octave_base_stream::do_scanf(), do_scanf_conv(), do_sm_binary_op(), do_tril(), do_triu(), octave_rand::do_vector(), chol< T >::downdate(), octave::opengl_renderer::draw_patch(), EigsComplexNonSymmetricFunc(), EigsComplexNonSymmetricMatrix(), EigsComplexNonSymmetricMatrixShift(), EigsRealNonSymmetricFunc(), EigsRealNonSymmetricMatrix(), EigsRealNonSymmetricMatrixShift(), EigsRealSymmetricFunc(), EigsRealSymmetricMatrix(), EigsRealSymmetricMatrixShift(), octave_fields::equal_up_to_order(), F__dsearchn__(), F__icholt__(), F__pchip_deriv__(), SparseMatrix::factorize(), SparseComplexMatrix::factorize(), Fellipj(), filter(), Array< T >::find(), find_starting_node(), Matrix::finverse(), FloatMatrix::finverse(), ComplexMatrix::finverse(), FloatComplexMatrix::finverse(), OCTAVE_VALUE_INT_MATRIX_T::float_complex_matrix_value(), OCTAVE_VALUE_INT_MATRIX_T::float_matrix_value(), DiagArray2< Complex >::fortran_vec(), ComplexNDArray::fourier(), FloatComplexNDArray::fourier(), FloatNDArray::fourier(), NDArray::fourier(), Matrix::fourier(), FloatMatrix::fourier(), ComplexMatrix::fourier(), FloatComplexMatrix::fourier(), ComplexNDArray::fourier2d(), FloatComplexNDArray::fourier2d(), FloatNDArray::fourier2d(), NDArray::fourier2d(), Matrix::fourier2d(), FloatMatrix::fourier2d(), ComplexMatrix::fourier2d(), FloatComplexMatrix::fourier2d(), ComplexNDArray::fourierNd(), FloatComplexNDArray::fourierNd(), FloatNDArray::fourierNd(), NDArray::fourierNd(), Matrix::fsolve(), FloatMatrix::fsolve(), ComplexMatrix::fsolve(), FloatComplexMatrix::fsolve(), SparseMatrix::fsolve(), SparseComplexMatrix::fsolve(), G__delaunayn__(), G__glpk__(), G__osmesa_print__(), G__voronoi__(), Gamd(), Gaudioread(), Gconvhulln(), Gsymrcm(), EIG::hermitian_init(), FloatEIG::hermitian_init(), ichol_t(), MArray< T >::idx_add_nd(), ComplexNDArray::ifourier(), FloatComplexNDArray::ifourier(), FloatNDArray::ifourier(), NDArray::ifourier(), Matrix::ifourier(), FloatMatrix::ifourier(), ComplexMatrix::ifourier(), FloatComplexMatrix::ifourier(), ComplexNDArray::ifourier2d(), FloatComplexNDArray::ifourier2d(), FloatNDArray::ifourier2d(), NDArray::ifourier2d(), Matrix::ifourier2d(), FloatMatrix::ifourier2d(), ComplexMatrix::ifourier2d(), FloatComplexMatrix::ifourier2d(), ComplexNDArray::ifourierNd(), FloatComplexNDArray::ifourierNd(), FloatNDArray::ifourierNd(), NDArray::ifourierNd(), Range::index(), Array< T >::index(), hess< T >::init(), qrp< T >::init(), schur< T >::init(), EIG::init(), FloatEIG::init(), CollocWt::init(), chol< T >::init(), qr< T >::init(), qr< T >::insert_col(), qr< T >::insert_row(), DASRT::integrate(), kron(), octave_char_matrix_str::load_ascii(), octave_float_complex_matrix::load_binary(), octave_char_matrix_str::load_binary(), octave_complex_matrix::load_binary(), octave_float_matrix::load_binary(), octave_perm_matrix::load_binary(), octave_bool_matrix::load_binary(), octave_matrix::load_binary(), octave_float_complex_matrix::load_hdf5(), octave_char_matrix_str::load_hdf5(), octave_complex_matrix::load_hdf5(), octave_float_matrix::load_hdf5(), octave_matrix::load_hdf5(), Matrix::lssolve(), FloatMatrix::lssolve(), ComplexMatrix::lssolve(), FloatComplexMatrix::lssolve(), ltsolve(), Matrix::ltsolve(), FloatMatrix::ltsolve(), ComplexMatrix::ltsolve(), FloatComplexMatrix::ltsolve(), LuAminusSigmaB(), Cell::map(), Array< octave_value >::map(), OCTAVE_VALUE_INT_MATRIX_T::matrix_value(), NDArray::NDArray(), Array< T >::nth_element(), octave_base64_decode(), octave_jit_paren_subsasgn_impl(), operator*(), Array< T >::permute(), PermMatrix::pos_power(), octave::math::sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::Q(), Matrix::rcond(), FloatMatrix::rcond(), ComplexMatrix::rcond(), FloatComplexMatrix::rcond(), read_indexed_images(), read_mat5_binary_element(), read_mat_binary_data(), Array< T >::resize(), Array< T >::resize1(), Array< T >::resize2(), octave::math::rsf2csf< ComplexMatrix, Matrix >(), octave::math::rsf2csf< FloatComplexMatrix, FloatMatrix >(), octave_char_matrix_str::save_ascii(), octave_char_matrix_str::save_binary(), octave_bool_matrix::save_binary(), octave_float_complex_matrix::save_hdf5(), octave_complex_matrix::save_hdf5(), octave_float_matrix::save_hdf5(), octave_bool_matrix::save_hdf5(), octave_matrix::save_hdf5(), save_mat5_binary_element(), save_mat5_element_length(), Array< T >::sort(), idx_vector::idx_vector_rep::sort_idx(), Range::sort_internal(), Array< T >::sort_rows_idx(), octave::math::sparse_lu< lu_type >::sparse_lu(), sqrtm_utri_inplace(), stack_complex_matrix(), sub2ind(), SparseBoolMatrix::sum(), Sylvester(), EIG::symmetric_init(), FloatEIG::symmetric_init(), octave::math::sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::tall_solve(), Matrix::tinverse(), FloatMatrix::tinverse(), ComplexMatrix::tinverse(), FloatComplexMatrix::tinverse(), QtHandles::Utils::toRgb(), Array< T >::transpose(), SparseMatrix::trisolve(), SparseComplexMatrix::trisolve(), unbox(), unit_cube(), unstack_complex_matrix(), lu< T >::update(), qr< T >::update(), chol< T >::update(), lu< T >::update_piv(), utsolve(), Matrix::utsolve(), FloatMatrix::utsolve(), ComplexMatrix::utsolve(), FloatComplexMatrix::utsolve(), viridis_colormap(), octave::math::sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::wide_solve(), and xgemm().
T * Array< T >::fortran_vec | ( | void | ) |
Definition at line 1659 of file Array.cc.
References fcn, k, result, and Array< T >::xelem().
Referenced by MArray< Complex >::hermitian().
Array< T > Array< T >::index | ( | const idx_vector & | i | ) | const |
Indexing without resizing.
Definition at line 718 of file Array.cc.
References octave::err_index_out_of_range(), idx_vector::extent(), Array< T >::fortran_vec(), idx_vector::index(), idx_vector::is_colon(), idx_vector::is_cont_range(), dim_vector::is_vector(), idx_vector::length(), numel(), idx_vector::orig_dimensions(), retval, and u.
Referenced by convolve(), octave_char_matrix_str::do_index_op_internal(), find_nonzero_elem_idx(), Cell::index(), octave_map::index(), Sparse< T >::index(), Array< T >::index(), octave_print_internal(), operator*(), octave::ft_text_renderer::render(), cdef_object_array::subsasgn(), and cdef_object_array::subsref().
Array< T > Array< T >::index | ( | const idx_vector & | i, |
const idx_vector & | j | ||
) | const |
Definition at line 782 of file Array.cc.
References c, dv, octave::err_index_out_of_range(), idx_vector::extent(), Array< T >::fortran_vec(), idx_vector::index(), idx_vector::is_colon(), idx_vector::is_cont_range(), k, idx_vector::length(), idx_vector::maybe_reduce(), numel(), dim_vector::redim(), retval, u, and idx_vector::xelem().
Array< T > Array< T >::index | ( | const Array< idx_vector > & | ia | ) | const |
Definition at line 840 of file Array.cc.
References dim_vector::alloc(), dim_vector::chop_trailing_singletons(), dv, octave::err_index_out_of_range(), Array< T >::fortran_vec(), rec_index_helper::index(), rec_index_helper::is_cont_range(), Array< T >::length(), Array< T >::numel(), dim_vector::redim(), retval, and u.
Array< T > Array< T >::index | ( | const idx_vector & | i, |
bool | resize_ok, | ||
const T & | rfv | ||
) | const |
Indexing with possible resizing and fill.
Definition at line 1050 of file Array.cc.
References idx_vector::extent(), Array< T >::index(), idx_vector::is_scalar(), numel(), Array< T >::numel(), Array< T >::resize1(), and tmp.
|
inline |
Array< T > Array< T >::index | ( | const idx_vector & | i, |
const idx_vector & | j, | ||
bool | resize_ok, | ||
const T & | rfv | ||
) | const |
Definition at line 1074 of file Array.cc.
References c, Array< T >::columns(), dv, idx_vector::extent(), Array< T >::index(), idx_vector::is_scalar(), dim_vector::redim(), Array< T >::resize2(), Array< T >::rows(), and tmp.
|
inline |
Array< T > Array< T >::index | ( | const Array< idx_vector > & | ia, |
bool | resize_ok, | ||
const T & | rfv | ||
) | const |
Definition at line 1102 of file Array.cc.
References dim_vector::alloc(), Array< T >::dimensions, dv, Array< T >::index(), Array< T >::numel(), dim_vector::redim(), Array< T >::resize(), and tmp.
|
inline |
Array< T > & Array< T >::insert | ( | const Array< T > & | a, |
const Array< octave_idx_type > & | idx | ||
) |
Insert an array into another at a specified position.
If size (a) is [d1 d2 ... dN] and idx is [i1 i2 ... iN], this method is equivalent to x(i1:i1+d1-1, i2:i2+d2-1, ... , iN:iN+dN-1) = a.
Definition at line 1601 of file Array.cc.
References Array< T >::dims(), k, Array< T >::numel(), ra_idx, and dim_vector::redim().
Referenced by boolMatrix::insert(), boolNDArray::insert(), charMatrix::insert(), charNDArray::insert(), ComplexNDArray::insert(), Matrix::insert(), FloatComplexNDArray::insert(), Cell::insert(), intNDArray< T >::insert(), FloatNDArray::insert(), NDArray::insert(), FloatComplexMatrix::insert(), and single_type_concat().
Array< T > & Array< T >::insert | ( | const Array< T > & | a, |
octave_idx_type | r, | ||
octave_idx_type | c | ||
) |
This is just a special case for idx = [r c 0 ...].
Definition at line 1580 of file Array.cc.
References Array< T >::columns(), Array< T >::dimensions, k, Array< T >::ndims(), and Array< T >::rows().
|
private |
Definition at line 41 of file Array-idx-vec.cc.
|
private |
Definition at line 44 of file Array-s.cc.
|
private |
Definition at line 50 of file Array-i.cc.
|
private |
Definition at line 60 of file Array-i.cc.
|
private |
Definition at line 61 of file Array-i.cc.
|
private |
Definition at line 62 of file Array-i.cc.
|
private |
Definition at line 63 of file Array-i.cc.
|
private |
Definition at line 70 of file Array-i.cc.
|
private |
Definition at line 71 of file Array-i.cc.
|
private |
Definition at line 72 of file Array-i.cc.
|
private |
Definition at line 73 of file Array-i.cc.
|
staticprivate |
|
inline |
Definition at line 570 of file Array.h.
Referenced by MArray< Complex >::ipermute().
Definition at line 575 of file Array.h.
Referenced by box_more(), octave::ft_text_renderer::compute_bbox(), octave::ft_text_renderer::compute_line_xoffset(), charNDArray::concat(), FloatNDArray::concat(), NDArray::concat(), convolve(), daspk_user_function(), daspk_user_jacobian(), dasrt_user_cf(), dasrt_user_f(), dasrt_user_j(), dassl_user_function(), dassl_user_jacobian(), bp_table::dbstop_process_map_args(), ddaspk_f(), ddasrt_f(), ddassl_f(), do_bsxfun_op(), do_colon_op(), do_inplace_bsxfun_op(), do_minmax_red_op< boolNDArray >(), octave::opengl_renderer::draw_axes_planes(), octave::opengl_renderer::draw_image(), octave::opengl_renderer::draw_patch(), octave::opengl_renderer::draw_surface(), EigsComplexNonSymmetricFunc(), EigsComplexNonSymmetricMatrix(), EigsComplexNonSymmetricMatrixShift(), EigsRealNonSymmetricFunc(), EigsRealNonSymmetricMatrix(), EigsRealNonSymmetricMatrixShift(), EigsRealSymmetricFunc(), EigsRealSymmetricMatrix(), EigsRealSymmetricMatrixShift(), F__fieldnames__(), Array< T >::find(), find_nonzero_elem_idx(), axes::properties::get_boundingbox(), uicontrol::properties::get_boundingbox(), uibuttongroup::properties::get_boundingbox(), uipanel::properties::get_boundingbox(), get_builtin_classes(), octave_char_matrix_str::load_ascii(), octave_bool_matrix::load_ascii(), lsode_f(), lsode_user_function(), lsode_user_jacobian(), LuAminusSigmaB(), Range::matrix_value(), Array< T >::nth_element(), null(), octave_print_internal(), octave::textscan::scan_string(), octave_cell::short_disp(), octave::ft_text_renderer::text_to_pixels(), patch::properties::update_data(), and patch::properties::update_fvc().
Definition at line 588 of file Array.h.
Referenced by mx_el_or_assign(), operator*=(), operator+=(), operator-=(), operator/=(), product_eq(), and quotient_eq().
sortmode Array< idx_vector >::is_sorted | ( | sortmode | ) | const |
Definition at line 39 of file Array-idx-vec.cc.
Ordering is auto-detected or can be specified.
Definition at line 2052 of file Array.cc.
References ASCENDING, DESCENDING, elem, octave_sort< T >::is_sorted(), mode, numel(), safe_comparator(), octave_sort< T >::set_compare(), and UNSORTED.
Referenced by octave_lazy_index::is_sorted(), octave_cell::is_sorted(), octave_matrix::is_sorted(), and Array< T >::lookup().
sortmode Array< idx_vector >::is_sorted_rows | ( | sortmode | ) | const |
Definition at line 39 of file Array-idx-vec.cc.
Ordering is auto-detected or can be specified.
Definition at line 2105 of file Array.cc.
References ASCENDING, c, DESCENDING, elem, octave_sort< T >::is_sorted_rows(), mode, safe_comparator(), octave_sort< T >::set_compare(), u, and UNSORTED.
Referenced by octave_lazy_index::is_sorted_rows(), octave_cell::is_sorted_rows(), and octave_matrix::is_sorted_rows().
Definition at line 577 of file Array.h.
Referenced by Ffilter(), and sizes_cmp().
|
inline |
|
inline |
WARNING: Only call these functions from jit.
Definition at line 844 of file Array.h.
Referenced by octave_jit_paren_subsasgn_matrix_range().
|
inline |
Definition at line 846 of file Array.h.
Referenced by octave_jit_paren_subsasgn_matrix_range().
|
inline |
Number of elements in the array.
Synonymous with numel().
length
() at the Octave interpreter. At the Octave interpreter, the function length
() returns the length of the greatest dimension. This method returns the total number of elements. Definition at line 354 of file Array.h.
Referenced by Array< T >::assign(), Fisguirunning(), Fprogram_invocation_name(), get_struct_elts(), Array< T >::index(), octave::textscan::parse_options(), symbol_info_list::parse_whos_line_format(), octave_fcn_inline::save_binary(), octave_fcn_inline::save_hdf5(), octave_cell::string_vector_value(), octave::sys::tilde_find_prefix(), and octave::sys::tilde_find_suffix().
Array< T > Array< T >::linear_slice | ( | octave_idx_type | lo, |
octave_idx_type | up | ||
) | const |
Extract a slice from this array as a column vector: A(:)(lo+1:up).
Must be 0 <= lo && up <= numel. May be up < lo.
Definition at line 297 of file Array.cc.
References octave::err_index_out_of_range(), and numel().
Referenced by octave_value_list::slice().
Array< octave_idx_type > Array< idx_vector >::lookup | ( | const Array< idx_vector > & | , |
sortmode | |||
) | const |
Definition at line 39 of file Array-idx-vec.cc.
octave_idx_type Array< idx_vector >::lookup | ( | idx_vector const & | , |
sortmode | |||
) | const |
Definition at line 39 of file Array-idx-vec.cc.
octave_idx_type Array< T >::lookup | ( | const T & | value, |
sortmode | mode = UNSORTED |
||
) | const |
Do a binary lookup in a sorted array.
Must not contain NaNs. Mode can be specified or is auto-detected by comparing 1st and last element.
Definition at line 2166 of file Array.cc.
References ASCENDING, DESCENDING, octave_sort< T >::descending_compare(), elem, octave_sort< T >::lookup(), numel(), octave_sort< T >::set_compare(), and UNSORTED.
Referenced by do_numeric_lookup().
Array< octave_idx_type > Array< T >::lookup | ( | const Array< T > & | values, |
sortmode | mode = UNSORTED |
||
) | const |
Ditto, but for an array of values, specializing on the case when values are sorted.
NaNs get the value N.
Definition at line 2187 of file Array.cc.
References ASCENDING, Array< T >::data(), DESCENDING, octave_sort< T >::descending_compare(), Array< T >::dims(), elem, Array< T >::is_sorted(), octave::math::log2(), octave_sort< T >::lookup(), octave_sort< T >::lookup_sorted(), mode, numel(), Array< T >::numel(), octave_sort< T >::set_compare(), UNSORTED, and values.
|
inline |
Definition at line 185 of file Array.h.
Referenced by octave_struct::subsasgn(), octave_cell::subsasgn(), and octave_class::subsasgn_common().
|
inline |
Apply function fcn to each element of the Array<T>.
This function is optimized with a manually unrolled loop.
Definition at line 760 of file Array.h.
Referenced by if(), octave_float_complex_diag_matrix::map(), octave_complex_diag_matrix::map(), octave_float_diag_matrix::map(), octave_diag_matrix::map(), DiagMatrix::rcond(), FloatDiagMatrix::rcond(), ComplexDiagMatrix::rcond(), and FloatComplexDiagMatrix::rcond().
|
inline |
|
inline |
Give a pointer to the data in mex format.
Unsafe. This function exists to support the MEX interface. You should not use it anywhere else.
Definition at line 706 of file Array.h.
Referenced by octave_cell::mex_get_data().
Definition at line 590 of file Array.h.
Referenced by octave_char_matrix_str::cellstr_value(), convolve(), octave_float_complex_matrix::diag(), octave_complex_matrix::diag(), octave_float_matrix::diag(), octave_matrix::diag(), do_bsxfun_op(), do_inplace_bsxfun_op(), MArray< T >::idx_add_nd(), Array< T >::insert(), kron(), octave_print_internal(), octave_cell::print_raw(), octave_char_matrix_str::short_disp(), octave_char_matrix_str::string_value(), octave_char_matrix_str::string_vector_value(), octave_bool_matrix::try_narrowing_conversion(), and patch::properties::update_fvc().
|
inline |
octave_idx_type Array< idx_vector >::nnz | ( | void | ) | const |
Definition at line 39 of file Array-idx-vec.cc.
octave_idx_type Array< T >::nnz | ( | void | ) | const |
Count nonzero elements.
Definition at line 2231 of file Array.cc.
References numel(), retval, and zero.
Referenced by idx_vector::idx_mask_rep::idx_mask_rep(), idx_vector::idx_vector(), idx_vector::idx_vector_rep::idx_vector_rep(), and MatrixType::MatrixType().
Array< idx_vector > Array< idx_vector >::nth_element | ( | const idx_vector & | , |
int | |||
) | const |
Definition at line 39 of file Array-idx-vec.cc.
Array< T > Array< T >::nth_element | ( | const idx_vector & | n, |
int | dim = 0 |
||
) | const |
Returns the n-th element in increasing order, using the same ordering as used for sort.
n can either be a scalar index or a contiguous range.
Definition at line 2327 of file Array.cc.
References ASCENDING, idx_vector::class_range, idx_vector::class_scalar, DESCENDING, dims, dv, Array< T >::fortran_vec(), idx_vector::idx_class(), idx_vector::increment(), Array< T >::is_empty(), idx_vector::length(), m, max(), min(), mode, nn, octave_sort< T >::nth_element(), numel(), OCTAVE_LOCAL_BUFFER, octave_sort< T >::set_compare(), tmp, UNSORTED, and zero.
|
inline |
Number of elements in the array.
Definition at line 363 of file Array.h.
Referenced by file_editor_tab::add_octave_apis(), load_path::loader::add_to_fcn_map(), all_colon_equiv(), all_ok(), all_ones(), any_ones(), any_orig_empty(), RowVector::append(), FloatRowVector::append(), ComplexRowVector::append(), FloatComplexRowVector::append(), Matrix::append(), string_vector::append(), FloatMatrix::append(), ComplexMatrix::append(), FloatComplexMatrix::append(), Array< T >::Array(), Array< T >::assign(), binmap(), bitopxx(), QtHandles::boundingBoxToRect(), box(), QtHandles::ButtonControl::ButtonControl(), axes::properties::calc_ticklabels(), axes::properties::calc_ticks_and_lims(), QtHandles::Canvas::canvasWheelEvent(), Cell::Cell(), check_limit_vals(), PermMatrix::checkelem(), ComplexNDArray::ComplexNDArray(), compute_index(), Sparse< T >::compute_index(), Array< octave_value >::compute_index_unchecked(), boolNDArray::concat(), charNDArray::concat(), ComplexNDArray::concat(), FloatComplexNDArray::concat(), FloatNDArray::concat(), NDArray::concat(), intNDArray< T >::concat(), concat(), conv_to_int_array(), convert_cdata(), convert_position(), convert_text_position(), tree_parameter_list::convert_to_const_vector(), daspk_user_function(), daspk_user_jacobian(), dasrt_user_f(), dasrt_user_j(), dassl_user_function(), dassl_user_jacobian(), bp_table::dbstop_process_map_args(), decode_subscripts(), default_numeric_conversion_function(), DEFUN(), qr< T >::delete_col(), Array< T >::delete_elements(), delete_graphics_objects(), cdef_class::cdef_class_rep::delete_object(), DiagArray2< Complex >::diag_length(), DiagArray2< T >::DiagArray2(), PermMatrix::dim1(), PermMatrix::dim2(), octave::math::do_bessel(), do_bsxfun_op(), do_cleanup_waitfor_listener(), gh_manager::do_close_all_figures(), gh_manager::do_execute_callback(), load_path::do_files(), load_path::do_find_all_first_of(), load_path::do_find_file(), load_path::do_find_first_of(), octave_rand::do_float_nd_array(), octave_rand::do_float_vector(), do_history(), children_property::do_init_children(), do_inplace_bsxfun_op(), LSODE::do_integrate(), DASPK::do_integrate(), DASSL::do_integrate(), DefQuad::do_integrate(), FloatDefQuad::do_integrate(), do_minmax_bin_op< charNDArray >(), do_mm_binary_op(), do_mm_inplace_op(), do_ms_binary_op(), do_ms_inplace_op(), do_mx_check(), do_mx_inplace_op(), octave_rand::do_nd_array(), load_path::do_path(), do_rand(), do_rc_map(), octave_value_typeinfo::do_register_type(), string_array_property::do_set(), text_label_property::do_set(), color_property::do_set(), children_property::do_set(), octave_qt_link::do_set_history(), octave_sparse_params::do_set_vals(), do_sm_binary_op(), octave_rand::do_vector(), symbol_table::do_workspace_info(), chol< T >::downdate(), octave::opengl_renderer::draw(), octave::opengl_renderer::draw_all_lights(), octave::opengl_renderer::draw_axes_x_grid(), octave::opengl_renderer::draw_axes_y_grid(), octave::opengl_renderer::draw_axes_z_grid(), octave::opengl_renderer::draw_line(), octave::opengl_renderer::draw_marker(), octave::opengl_renderer::draw_patch(), octave::opengl_selector::draw_text(), octave::opengl_renderer::draw_text(), EigsComplexNonSymmetricMatrix(), EigsComplexNonSymmetricMatrixShift(), EigsRealNonSymmetricMatrix(), EigsRealNonSymmetricMatrixShift(), EigsRealSymmetricMatrix(), EigsRealSymmetricMatrixShift(), elem_xpow(), octave_fields::equal_up_to_order(), file_editor_tab::exit_debug_and_clear(), extract_keyword(), F__contourc__(), F__ftp_dir__(), F__ftp_mget__(), F__ftp_mput__(), F__magick_read__(), F__octave_link_input_dialog__(), F__octave_link_list_dialog__(), F__pchip_deriv__(), octave_base_matrix< Cell >::fast_elem_insert(), Fdrawnow(), Fellipj(), Ffilter(), Fget(), DiagMatrix::fill(), FloatDiagMatrix::fill(), ComplexDiagMatrix::fill(), FloatComplexDiagMatrix::fill(), cdef_object_array::fill_empty_values(), filter(), finalize_r(), Array< T >::find(), cdef_class::cdef_class_rep::find_method(), cdef_class::cdef_class_rep::find_methods(), cdef_class::cdef_class_rep::find_names(), find_nonzero_elem_idx(), cdef_class::cdef_class_rep::find_properties(), cdef_class::cdef_class_rep::find_property(), FloatComplexNDArray::FloatComplexNDArray(), FloatNDArray::FloatNDArray(), octave::sys::fnmatch(), for(), octave::curl_transfer::form_query_string(), freeze(), Freset(), QtHandles::Utils::fromRgb(), QtHandles::Utils::fromStringVector(), Fspparms(), G__delaunayn__(), G__glpk__(), G__voronoi__(), Gaudioread(), Gccolamd(), Gcolamd(), Gconvhulln(), generate_completion(), genpath(), cdef_object_scalar::get(), get_array_limits(), get_children_limits(), get_dim_vector(), get_dims_str(), get_elt_idx(), get_fcn_files(), load_path::dir_info::get_file_list(), get_scalar_idx(), axes::properties::get_scale(), get_size(), get_sort_mode(), axes::properties::get_ticklabel_extents(), octave::sys::glob(), symbol_table::glob_variables(), QtHandles::hasUiControlChildren(), QtHandles::hasUiMenuChildren(), MArray< T >::idx_add(), MArray< T >::idx_max(), MArray< T >::idx_min(), idx_vector::idx_vector(), idx_vector::idx_vector_rep::idx_vector_rep(), if(), increment_index(), Array< T >::index(), index_in_bounds(), octave::opengl_renderer::init_gl_context(), base_diff_alg_eqn::initialize(), ODES::initialize(), initialize_r(), tree_parameter_list::initialize_undefined_elements(), RowVector::insert(), ColumnVector::insert(), FloatRowVector::insert(), FloatColumnVector::insert(), ComplexRowVector::insert(), ComplexColumnVector::insert(), FloatComplexColumnVector::insert(), FloatComplexRowVector::insert(), ComplexNDArray::insert(), Matrix::insert(), FloatComplexNDArray::insert(), FloatMatrix::insert(), ComplexMatrix::insert(), FloatComplexMatrix::insert(), Sparse< T >::insert(), Array< T >::insert(), qr< T >::insert_col(), qr< T >::insert_row(), chol< T >::insert_sym(), octave_value::int_vector_value(), DASSL::integrate(), DASPK::integrate(), DASRT::integrate(), octave::math::sparse_chol< chol_type >::inverse(), is_handle(), is_handle_visible(), octave::regexp::is_match(), Array< double >::is_sorted(), Array< float >::is_sorted(), is_superclass(), Java_org_octave_Octave_doInvoke(), DiagArray2< Complex >::length(), linspace(), QtHandles::ListBoxControl::ListBoxControl(), octave_bool_matrix::load_ascii(), octave_perm_matrix::load_binary(), octave::textscan::lookahead(), Array< T >::lookup(), lookup_classes(), Matrix::lssolve(), FloatMatrix::lssolve(), ComplexMatrix::lssolve(), FloatComplexMatrix::lssolve(), LuAminusSigmaB(), make_absolute(), make_name_list(), make_stack_frame_list(), octave_fcn_inline::map_value(), cdef_object::map_value(), glob_match::match(), octave::base_url_transfer::mget_directory(), mk_tmp_hist_file(), load_path::loader::move_fcn_map(), octave::base_url_transfer::mput_directory(), NDArray::NDArray(), PermMatrix::nelem(), null(), num_ones(), numel(), octave_class::numeric_conv(), octave_fcn_inline::octave_fcn_inline(), octave_fields::octave_fields(), octave_value::octave_idx_type_vector_value(), octave_jit_paren_subsasgn_impl(), octave_print_internal(), octcellregexp(), octregexp(), operator*(), ComplexRowVector::operator+=(), ComplexColumnVector::operator+=(), FloatComplexRowVector::operator+=(), FloatComplexColumnVector::operator+=(), ComplexRowVector::operator-=(), ComplexColumnVector::operator-=(), FloatComplexRowVector::operator-=(), FloatComplexColumnVector::operator-=(), operator<<(), RowVector::operator==(), FloatRowVector::operator==(), ColumnVector::operator==(), FloatColumnVector::operator==(), ComplexRowVector::operator==(), ComplexColumnVector::operator==(), FloatComplexColumnVector::operator==(), FloatComplexRowVector::operator==(), operator>>(), parse_dbfunction_params(), octave::textscan::parse_options(), parse_save_options(), pattern(), PermMatrix::perm_length(), octave_base_diag< DiagMatrix, Matrix >::permute(), Sparse< T >::permute(), Array< T >::permute(), print_DASPK_options(), print_DASRT_options(), print_DASSL_options(), print_LSODE_options(), octave_fcn_inline::print_raw(), octave_struct::print_raw(), octave_scalar_struct::print_raw(), Matrix::pseudo_inverse(), FloatMatrix::pseudo_inverse(), ComplexMatrix::pseudo_inverse(), FloatComplexMatrix::pseudo_inverse(), qp(), qs_preprocess(), qs_search(), Sparse< T >::range_error(), read_images(), read_indexed_images(), read_mat5_binary_element(), read_mat5_binary_file_header(), octave::textscan::read_until(), rec_permute_helper::rec_permute_helper(), octave::sys::recursive_rmdir(), symbol_table::regexp_variables(), figure::properties::remove_child(), load_path::loader::remove_fcn_map(), octave::ft_text_renderer::render(), octave::opengl_renderer::render_grid(), octave::opengl_renderer::render_tickmarks(), octave::opengl_renderer::render_ticktexts(), safe_comparator(), octave_fcn_inline::save_ascii(), octave_perm_matrix::save_ascii(), octave_fcn_inline::save_binary(), octave_float_complex_diag_matrix::save_binary(), octave_complex_diag_matrix::save_binary(), octave_float_diag_matrix::save_binary(), octave_diag_matrix::save_binary(), octave_bool_matrix::save_binary(), octave_fcn_inline::save_hdf5(), octave_bool_matrix::save_hdf5(), save_mat5_binary_element(), save_mat5_element_length(), log_scaler::scale(), neg_log_scaler::scale(), octave::textscan::scan_complex(), octave::textscan::scan_string(), search_path_for_all_files(), QtHandles::Canvas::select_object(), gnuplot_graphics_toolkit::send_quit(), graphics_object::set(), octave::ft_text_renderer::set_color(), annotation_dialog::set_gui_props(), figure::properties::set_integerhandle(), octave_rand::set_internal_state(), octave::ft_text_renderer::set_mode(), uicontrol::properties::set_style(), PermMatrix::setup(), show_DASPK_options(), show_DASRT_options(), show_DASSL_options(), show_LSODE_options(), single_type_concat(), sizes_cmp(), octave::textscan::skip_delim(), octave::textscan::skip_whitespace(), QtHandles::SliderControl::SliderControl(), Sparse< T >::Sparse(), octave::math::sparse_lu< lu_type >::sparse_lu(), ColumnVector::stack(), FloatColumnVector::stack(), ComplexColumnVector::stack(), FloatComplexColumnVector::stack(), Matrix::stack(), FloatMatrix::stack(), ComplexMatrix::stack(), FloatComplexMatrix::stack(), string_array_property::string_array_property(), string_array_property::string_value(), octave_cell::string_vector_value(), sub2ind(), octave_struct::subsasgn(), octave_cell::subsasgn(), cdef_object_array::subsasgn(), octave_class::subsasgn_common(), octave_struct::subsref(), octave_class::subsref(), cdef_object_array::subsref(), text_label_property::text_label_property(), octave::sys::file_ops::tilde_expand(), octave::sys::tilde_find_prefix(), octave::sys::tilde_find_suffix(), PermMatrix::transpose(), try_cellfun_internal_ops(), octave_float_matrix::try_narrowing_conversion(), octave_float_complex_matrix::try_narrowing_conversion(), octave_complex_matrix::try_narrowing_conversion(), octave_matrix::try_narrowing_conversion(), unbox(), QtHandles::ButtonControl::update(), QtHandles::PopupMenuControl::update(), QtHandles::SliderControl::update(), lu< T >::update(), qr< T >::update(), chol< T >::update(), hggroup::update_axis_limits(), base_properties::update_boundingbox(), lu< T >::update_piv(), text::properties::update_position(), QtHandles::updateSelection(), vector_norm(), octave::opengl_renderer::patch_tesselator::vertex(), octave::tree_evaluator::visit_complex_for_command(), tree_print_code::visit_index_expression(), octave::sys::windows_glob(), octave_stream::write(), write_mat5_array(), write_mat5_cell_array(), x_el_div(), octave::xzip(), and zero_dims_inquire().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 309 of file Array.h.
Referenced by boolNDArray::operator=(), charNDArray::operator=(), string_vector::operator=(), DiagArray2< Complex >::operator=(), MArray< Complex >::operator=(), and PermMatrix::setup().
bool Array< T >::optimize_dimensions | ( | const dim_vector & | dv | ) |
Array< T > Array< T >::page | ( | octave_idx_type | k | ) | const |
Extract page: A(:,:,k+1).
Definition at line 282 of file Array.cc.
References c, octave::err_index_out_of_range(), and p.
|
inline |
Array< T > Array< T >::permute | ( | const Array< octave_idx_type > & | vec, |
bool | inv = false |
||
) | const |
Definition at line 451 of file Array.cc.
References dim_vector::alloc(), current_liboctave_error_handler, dims, dv, Array< T >::elem(), Array< T >::fortran_vec(), dim_vector::ndims(), numel(), Array< T >::numel(), OCTAVE_LOCAL_BUFFER_INIT, rec_permute_helper::permute(), dim_vector::resize(), and retval.
Referenced by MArray< Complex >::permute(), octave_lazy_index::permute(), and octave_map::permute().
void Array< T >::print_info | ( | std::ostream & | os, |
const std::string & | prefix | ||
) | const |
Definition at line 2734 of file Array.cc.
Referenced by PermMatrix::print_info(), and DiagArray2< Complex >::print_info().
|
inline |
Definition at line 563 of file Array.h.
Referenced by idx_vector::idx_mask_rep::as_array(), Array< T >::assign(), octave_value::complex_vector_value(), octave_value::float_complex_vector_value(), octave_value::float_vector_value(), octave_value::int_vector_value(), octave_value::octave_idx_type_vector_value(), MArray< Complex >::reshape(), Cell::reshape(), octave_lazy_index::reshape(), octave_matrix::reshape(), octave_map::reshape(), and octave_value::vector_value().
|
inline |
void Array< T >::resize | ( | const dim_vector & | dv, |
const T & | rfv | ||
) |
Definition at line 1028 of file Array.cc.
References dim_vector::any_neg(), dv, octave::err_invalid_resize(), Array< T >::fortran_vec(), dim_vector::ndims(), dim_vector::redim(), rec_resize_helper::resize_fill(), and tmp.
Referenced by jit_operation::add_overload(), octave::math::airy(), octave::math::betainc(), octave::math::betaincinv(), octave::math::biry(), Cell::column(), Matrix::column_max(), FloatMatrix::column_max(), ComplexMatrix::column_max(), FloatComplexMatrix::column_max(), Matrix::column_min(), FloatMatrix::column_min(), ComplexMatrix::column_min(), FloatComplexMatrix::column_min(), octave::regexp::compile_internal(), Array< T >::diag(), dmsolve_permute(), octave::math::do_bessel(), do_fft(), do_fft2(), do_fftn(), LSODE::do_integrate(), DASPK::do_integrate(), DASSL::do_integrate(), octave_value_typeinfo::do_register_type(), DiagArray2< T >::extract_diag(), F__magick_read__(), Ffilter(), Fget(), filter(), find_nonzero_elem_idx(), Matrix::finverse(), FloatMatrix::finverse(), ComplexMatrix::finverse(), FloatComplexMatrix::finverse(), G__glpk__(), get_ra_idx(), ichol_t(), MArray< T >::idx_add_nd(), Array< T >::index(), octave_value::int_vector_value(), DASRT::integrate(), intmap_to_ov(), octave_float_complex_matrix::load_hdf5(), octave_char_matrix_str::load_hdf5(), octave_complex_matrix::load_hdf5(), octave_cell::load_hdf5(), octave_float_matrix::load_hdf5(), octave_bool_matrix::load_hdf5(), octave_matrix::load_hdf5(), Matrix::lssolve(), FloatMatrix::lssolve(), ComplexMatrix::lssolve(), FloatComplexMatrix::lssolve(), make_indices(), make_subs_cell(), SparseMatrix::max(), SparseComplexMatrix::max(), SparseMatrix::min(), SparseComplexMatrix::min(), octave_base64_decode(), octave_value::octave_idx_type_vector_value(), octave_value_list::octave_value_list(), boolMatrix::resize(), charMatrix::resize(), string_vector::resize(), RowVector::resize(), FloatRowVector::resize(), ColumnVector::resize(), octave_char_matrix_str::resize(), FloatColumnVector::resize(), octave_range::resize(), ComplexRowVector::resize(), FloatComplexRowVector::resize(), ComplexColumnVector::resize(), Matrix::resize(), FloatComplexColumnVector::resize(), FloatMatrix::resize(), DiagArray2< T >::resize(), ComplexMatrix::resize(), FloatComplexMatrix::resize(), octave_char_matrix_sq_str::resize(), octave_map::resize(), Matrix::row_max(), FloatMatrix::row_max(), ComplexMatrix::row_max(), FloatComplexMatrix::row_max(), Matrix::row_min(), FloatMatrix::row_min(), ComplexMatrix::row_min(), FloatComplexMatrix::row_min(), tree_cell::rvalue1(), octave_base_scalar< bool >::sort(), Range::sort_internal(), octave::math::sparse_lu< lu_type >::sparse_lu(), and patch::properties::update_data().
|
inline |
Definition at line 615 of file Array.h.
Referenced by Array< octave_value >::resize().
void Array< T >::resize1 | ( | octave_idx_type | n, |
const T & | rfv | ||
) |
Definition at line 915 of file Array.cc.
References dv, octave::err_invalid_resize(), Array< T >::fortran_vec(), min(), nn, numel(), and tmp.
Referenced by Array< T >::index(), and octave_jit_paren_subsasgn_impl().
|
inline |
Definition at line 612 of file Array.h.
Referenced by Array< octave_value >::resize1().
void Array< T >::resize2 | ( | octave_idx_type | nr, |
octave_idx_type | nc, | ||
const T & | rfv | ||
) |
Resizing (with fill).
Definition at line 986 of file Array.cc.
References octave::err_invalid_resize(), Array< T >::fortran_vec(), k, min(), and tmp.
Referenced by Array< T >::find(), and Array< T >::index().
|
inline |
|
virtual |
|
inline |
Definition at line 401 of file Array.h.
Referenced by aepbalance< T >::aepbalance(), octave::math::airy(), Matrix::append(), FloatMatrix::append(), ComplexMatrix::append(), FloatComplexMatrix::append(), octave::math::biry(), SparseMatrix::bsolve(), SparseComplexMatrix::bsolve(), octave::math::sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::C(), octave_char_matrix_str::cellstr_value(), chol2inv_internal(), cntr(), column_norms(), ComplexMatrix::ComplexMatrix(), convert_cdata(), octave_float_complex_matrix::diag(), octave_complex_matrix::diag(), octave_float_matrix::diag(), octave_matrix::diag(), dmsolve_insert(), dmsolve_permute(), octave::math::do_bessel(), do_fftn(), string_array_property::do_set(), do_sqrtm(), do_tril(), do_triu(), octave::opengl_renderer::draw_patch(), octave::opengl_renderer::draw_surface(), drawcn(), SparseComplexMatrix::dsolve(), SparseMatrix::dsolve(), elem_xpow(), F__dsearchn__(), F__octave_link_file_dialog__(), F__octave_link_input_dialog__(), F__pchip_deriv__(), find_nonzero_elem_idx(), FloatComplexMatrix::FloatComplexMatrix(), FloatMatrix::FloatMatrix(), qr< T >::form(), Matrix::fsolve(), FloatMatrix::fsolve(), ComplexMatrix::fsolve(), FloatComplexMatrix::fsolve(), SparseMatrix::fsolve(), SparseComplexMatrix::fsolve(), G__delaunayn__(), G__glpk__(), G__voronoi__(), octave::math::gammainc(), Gconvhulln(), EIG::hermitian_init(), FloatEIG::hermitian_init(), hex2num(), Sparse< T >::index(), Array< T >::index(), hess< T >::init(), gepbalance< T >::init(), qrp< T >::init(), schur< T >::init(), EIG::init(), FloatEIG::init(), chol< T >::init(), qr< T >::init(), ComplexMatrix::insert(), FloatComplexMatrix::insert(), Array< T >::insert(), kron(), Matrix::lssolve(), FloatMatrix::lssolve(), ComplexMatrix::lssolve(), FloatComplexMatrix::lssolve(), Matrix::ltsolve(), FloatMatrix::ltsolve(), SparseMatrix::ltsolve(), SparseComplexMatrix::ltsolve(), ComplexMatrix::ltsolve(), FloatComplexMatrix::ltsolve(), lu< T >::lu(), LuAminusSigmaB(), mark_facets(), mark_upper_triangular(), Matrix::Matrix(), matrix_real_probe(), max(), min(), null(), octave_print_internal(), operator*(), ComplexMatrix::operator+=(), FloatComplexMatrix::operator+=(), ComplexMatrix::operator-=(), FloatComplexMatrix::operator-=(), operator<<(), boolMatrix::operator==(), charMatrix::operator==(), FloatMatrix::operator==(), Matrix::operator==(), ComplexMatrix::operator==(), FloatComplexMatrix::operator==(), operator>>(), pr_max_internal(), pr_min_internal(), row_norms(), octave::math::rsf2csf< ComplexMatrix, Matrix >(), octave::math::rsf2csf< FloatComplexMatrix, FloatMatrix >(), octave_char_matrix_str::save_ascii(), octave_cell::save_ascii(), save_mat_ascii_data(), save_mat_binary_data(), save_three_d(), log_scaler::scale(), neg_log_scaler::scale(), graphics_xform::scale(), sizes_cmp(), sqrtm_utri_inplace(), Matrix::stack(), FloatMatrix::stack(), ComplexMatrix::stack(), FloatComplexMatrix::stack(), stack_complex_matrix(), octave_char_matrix_str::string_vector_value(), Sylvester(), EIG::symmetric_init(), FloatEIG::symmetric_init(), octave::math::sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::tall_solve(), SparseMatrix::trisolve(), SparseComplexMatrix::trisolve(), octave_bool_matrix::try_narrowing_conversion(), unstack_complex_matrix(), lu< T >::update(), qr< T >::update(), patch::properties::update_data(), patch::properties::update_fvc(), lu< T >::update_piv(), surface::properties::update_vertex_normals(), Matrix::utsolve(), FloatMatrix::utsolve(), SparseComplexMatrix::utsolve(), SparseMatrix::utsolve(), ComplexMatrix::utsolve(), FloatComplexMatrix::utsolve(), vector_product(), octave::math::sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::wide_solve(), x_el_div(), xgemm(), and xpow().
Size of the specified dimension.
Dimensions beyond the Array number of dimensions return 1 as those are implicit singleton dimensions.
Equivalent to Octave's size (A, DIM)
Definition at line 428 of file Array.h.
Referenced by load_path::loader::fcn_names(), octave::textscan::parse_options(), and octave_value::size().
Array< idx_vector > Array< idx_vector >::sort | ( | Array< octave_idx_type > & | sidx, |
int | , | ||
sortmode | |||
) | const |
Definition at line 39 of file Array-idx-vec.cc.
Array< idx_vector > Array< idx_vector >::sort | ( | int | , |
sortmode | |||
) | const |
Definition at line 39 of file Array-idx-vec.cc.
Definition at line 1775 of file Array.cc.
References DESCENDING, dims, dv, m, dim_vector::ndims(), dim_vector::numel(), OCTAVE_LOCAL_BUFFER, dim_vector::resize(), octave_sort< T >::set_compare(), octave_sort< T >::sort(), tmp, and UNSORTED.
Referenced by qr< T >::delete_col(), children_property::do_set(), qr< T >::insert_col(), octave_lazy_index::sort(), and octave_cell::sort().
Array< T > Array< T >::sort | ( | Array< octave_idx_type > & | sidx, |
int | dim = 0 , |
||
sortmode | mode = ASCENDING |
||
) | const |
Definition at line 1891 of file Array.cc.
References DESCENDING, dims, dv, Array< T >::fortran_vec(), m, dim_vector::numel(), OCTAVE_LOCAL_BUFFER, octave_sort< T >::set_compare(), octave_sort< T >::sort(), tmp, and UNSORTED.
Array< octave_idx_type > Array< idx_vector >::sort_rows_idx | ( | sortmode | ) | const |
Definition at line 39 of file Array-idx-vec.cc.
Array< octave_idx_type > Array< T >::sort_rows_idx | ( | sortmode | mode = ASCENDING | ) | const |
Sort by rows returns only indices.
Definition at line 2087 of file Array.cc.
References c, Array< T >::fortran_vec(), safe_comparator(), and octave_sort< T >::sort_rows().
Referenced by octave_perm_matrix::sort_rows_idx(), octave_lazy_index::sort_rows_idx(), octave_cell::sort_rows_idx(), octave_base_diag< DiagMatrix, Matrix >::sort_rows_idx(), and octave_value::sort_rows_idx().
Chop off leading singleton dimensions.
Definition at line 125 of file Array.cc.
References k, dim_vector::resize(), retval, and tmp.
Referenced by octave_lazy_index::squeeze(), boolNDArray::squeeze(), charNDArray::squeeze(), MArray< Complex >::squeeze(), and octave_matrix::squeeze().
Definition at line 1616 of file Array.cc.
References rec_permute_helper::blk_trans(), Array< T >::fortran_vec(), result, and Array< T >::xelem().
Referenced by Sparse< T >::index(), oct_unop_transpose(), Sparse< T >::sort(), boolMatrix::transpose(), charMatrix::transpose(), and MArray< Complex >::transpose().
|
inline |
Definition at line 455 of file Array.h.
Referenced by intNDArray< T >::abs(), SparseBoolMatrix::any(), DiagArray2< T >::array_value(), idx_vector::idx_range_rep::as_array(), idx_vector::idx_mask_rep::as_array(), Cell::cellstr_value(), octave_char_matrix_str::cellstr_value(), chol2inv_internal(), Cell::column(), column_norms(), Cell::delete_elements(), DiagArray2< Complex >::dgxelem(), Array< T >::diag(), dmsolve_extract(), children_property::do_init_children(), do_numeric_lookup(), children_property::do_set(), Array< octave_value >::elem(), RowVector::extract(), ColumnVector::extract(), FloatRowVector::extract(), FloatColumnVector::extract(), RowVector::extract_n(), ColumnVector::extract_n(), FloatRowVector::extract_n(), FloatColumnVector::extract_n(), F__octave_link_file_dialog__(), F__octave_link_input_dialog__(), F__octave_link_list_dialog__(), octave_fields::fieldnames(), cdef_object_array::fill_empty_values(), find_nonzero_elem_idx(), qr< T >::form(), SparseMatrix::fsolve(), SparseComplexMatrix::fsolve(), Gamd(), octave::math::lu< T >::getp(), Array< T >::hermitian(), idx_vector::idx_vector_rep::idx_vector_rep(), octave_value::int_vector_value(), idx_vector::inverse_permutation(), kron(), SparseMatrix::ltsolve(), SparseComplexMatrix::ltsolve(), LuAminusSigmaB(), octave_value::octave_idx_type_vector_value(), octave_jit_paren_scalar(), octave_jit_paren_scalar_subsasgn(), octave_jit_paren_subsasgn_matrix_range(), octave_scalar_map::orderfields(), octave_map::orderfields(), octave::math::sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::P(), octave::math::lu< T >::P_vec(), octave::math::sparse_lu< lu_type >::Pc_vec(), octave_base_diag< DiagMatrix, Matrix >::permute(), octave::math::sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::Pinv(), octave::math::sparse_lu< lu_type >::Pr_vec(), put_int(), qs_search(), read_mat_binary_data(), row_norms(), intNDArray< T >::signum(), idx_vector::idx_range_rep::sort_idx(), idx_vector::idx_mask_rep::sort_idx(), SparseBoolMatrix::sum(), octave::math::sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::tall_solve(), PermMatrix::transpose(), Array< T >::transpose(), idx_vector::idx_vector_rep::unconvert(), idx_vector::idx_mask_rep::unconvert(), SparseComplexMatrix::utsolve(), SparseMatrix::utsolve(), octave::math::sparse_qr< SPARSE_T >::sparse_qr_rep< SPARSE_T >::wide_solve(), DiagArray2< Complex >::xelem(), and xgemm().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
protected |
Definition at line 214 of file Array.h.
Referenced by Array< T >::Array(), Array< octave_value >::as_column(), Array< octave_value >::as_matrix(), Array< octave_value >::as_row(), Array< T >::find(), Array< T >::index(), Array< T >::insert(), and Array< octave_value >::operator=().
Definition at line 216 of file Array.h.
Referenced by Array< T >::Array(), Array< octave_value >::jit_array_rep(), and Array< octave_value >::operator=().
|
protected |
Definition at line 225 of file Array.h.
Referenced by Array< octave_value >::jit_slice_data(), and Array< octave_value >::operator=().
|
protected |
Definition at line 226 of file Array.h.
Referenced by Array< octave_value >::operator=().