GNU Octave  6.2.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
PermMatrix Class Reference

#include "PermMatrix.h"

Inheritance diagram for PermMatrix:
Collaboration diagram for PermMatrix:

Public Member Functions

 PermMatrix (const Array< octave_idx_type > &p, bool colp, bool check=true)
 
 PermMatrix (const idx_vector &idx, bool colp, octave_idx_type n=0)
 
 PermMatrix (const PermMatrix &m)=default
 
 PermMatrix (octave_idx_type n)
 
 PermMatrix (void)=default
 
 ~PermMatrix (void)=default
 
size_t byte_size (void) const
 
octave_idx_type checkelem (octave_idx_type i, octave_idx_type j) const
 
const Array< octave_idx_type > & col_perm_vec (void) const
 
octave_idx_type cols (void) const
 
octave_idx_type columns (void) const
 
octave_idx_type determinant (void) const
 
octave_idx_type dim1 (void) const
 
octave_idx_type dim2 (void) const
 
dim_vector dims (void) const
 
octave_idx_type elem (octave_idx_type i, octave_idx_type j) const
 
PermMatrix inverse (void) const
 
bool is_col_perm (void) const
 
bool is_row_perm (void) const
 
bool isempty (void) const
 
octave_idx_type length (void) const
 
int ndims (void) const
 
octave_idx_type numel (void) const
 
octave_idx_type operator() (octave_idx_type i, octave_idx_type j) const
 
PermMatrixoperator= (const PermMatrix &m)=default
 
octave_idx_type perm_length (void) const
 
PermMatrix power (octave_idx_type n) const
 
void print_info (std::ostream &os, const std::string &prefix) const
 
octave_idx_type rows (void) const
 
PermMatrix transpose (void) const
 

Static Public Member Functions

static PermMatrix eye (octave_idx_type n)
 

Protected Types

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

Protected Member Functions

Array< octave_idx_typeas_column (void) const
 Return the array as a column vector. More...
 
Array< octave_idx_typeas_matrix (void) const
 Return the array as a matrix. More...
 
Array< octave_idx_typeas_row (void) const
 Return the array as a row vector. More...
 
void clear (const dim_vector &dv)
 
void clear (octave_idx_type r, octave_idx_type c)
 
void clear (void)
 
void fill (const octave_idx_type &val)
 
Array< octave_idx_typefind (octave_idx_type, bool) const
 
sortmode is_sorted_rows (sortmode) const
 
OCTAVE_API sortmode issorted (sortmode mode) const
 
sortmode issorted (sortmode) const
 
Array< octave_idx_typelookup (const Array< idx_vector > &, sortmode) const
 
octave_idx_type lookup (idx_vector const &, sortmode) const
 
void make_unique (void)
 
octave_idx_type nnz (void) const
 
Array< idx_vectornth_element (const idx_vector &, int) const
 
Array< idx_vectorsort (Array< octave_idx_type > &sidx, int, sortmode) const
 
Array< idx_vectorsort (int, sortmode) const
 
Array< octave_idx_typesort_rows_idx (sortmode) const
 

Protected Attributes

dim_vector dimensions
 
Array< octave_idx_type >::ArrayRep * rep
 
octave_idx_typeslice_data
 
octave_idx_type slice_len
 

Private Member Functions

void instantiation_guard ()
 
void instantiation_guard ()
 
void instantiation_guard ()
 
void instantiation_guard ()
 
void instantiation_guard ()
 
void instantiation_guard ()
 
void instantiation_guard ()
 
void instantiation_guard ()
 
void instantiation_guard ()
 
void instantiation_guard ()
 
void instantiation_guard ()
 
void instantiation_guard ()
 
void instantiation_guard ()
 
void instantiation_guard ()
 
PermMatrix pos_power (octave_idx_type m) const
 
void setup (const Array< octave_idx_type > &p, bool colp, bool check)
 
void setup (const idx_vector &idx, bool colp, octave_idx_type n)
 

Static Private Member Functions

static Array< octave_idx_type >::ArrayRep * nil_rep (void)
 

Third dimension

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

octave_idx_type dim3 (void) const
 Size of the specified dimension. More...
 
octave_idx_type pages (void) const
 Size of the specified dimension. More...
 
size_type size (const size_type d) const
 Size of the specified dimension. More...
 
Array< octave_idx_typesqueeze (void) const
 Chop off leading singleton dimensions. More...
 
octave_idx_type compute_index (octave_idx_type i, octave_idx_type j) const
 Size of the specified dimension. More...
 
octave_idx_type compute_index (octave_idx_type i, octave_idx_type j, octave_idx_type k) const
 Size of the specified dimension. More...
 
octave_idx_type compute_index (const Array< octave_idx_type > &ra_idx) const
 Size of the specified dimension. More...
 
octave_idx_type compute_index_unchecked (const Array< octave_idx_type > &ra_idx) const
 Size of the specified dimension. More...
 
octave_idx_typexelem (octave_idx_type n)
 Size of the specified dimension. More...
 
crefT xelem (octave_idx_type n) const
 Size of the specified dimension. More...
 
octave_idx_typexelem (octave_idx_type i, octave_idx_type j)
 Size of the specified dimension. More...
 
crefT xelem (octave_idx_type i, octave_idx_type j) const
 Size of the specified dimension. More...
 
octave_idx_typexelem (octave_idx_type i, octave_idx_type j, octave_idx_type k)
 Size of the specified dimension. More...
 
crefT xelem (octave_idx_type i, octave_idx_type j, octave_idx_type k) const
 Size of the specified dimension. More...
 
octave_idx_typexelem (const Array< octave_idx_type > &ra_idx)
 Size of the specified dimension. More...
 
crefT xelem (const Array< octave_idx_type > &ra_idx) const
 Size of the specified dimension. More...
 
octave_idx_typecheckelem (octave_idx_type n)
 Size of the specified dimension. More...
 
octave_idx_typecheckelem (octave_idx_type i, octave_idx_type j)
 Size of the specified dimension. More...
 
octave_idx_typecheckelem (octave_idx_type i, octave_idx_type j, octave_idx_type k)
 Size of the specified dimension. More...
 
octave_idx_typecheckelem (const Array< octave_idx_type > &ra_idx)
 Size of the specified dimension. More...
 
crefT checkelem (octave_idx_type n) const
 Size of the specified dimension. More...
 
crefT checkelem (octave_idx_type i, octave_idx_type j, octave_idx_type k) const
 Size of the specified dimension. More...
 
crefT checkelem (const Array< octave_idx_type > &ra_idx) const
 Size of the specified dimension. More...
 
octave_idx_typeelem (octave_idx_type n)
 Size of the specified dimension. More...
 
octave_idx_typeelem (octave_idx_type i, octave_idx_type j)
 Size of the specified dimension. More...
 
octave_idx_typeelem (octave_idx_type i, octave_idx_type j, octave_idx_type k)
 Size of the specified dimension. More...
 
octave_idx_typeelem (const Array< octave_idx_type > &ra_idx)
 Size of the specified dimension. More...
 
crefT elem (octave_idx_type n) const
 Size of the specified dimension. More...
 
crefT elem (octave_idx_type i, octave_idx_type j, octave_idx_type k) const
 Size of the specified dimension. More...
 
crefT elem (const Array< octave_idx_type > &ra_idx) const
 Size of the specified dimension. More...
 
octave_idx_typeoperator() (octave_idx_type n)
 Size of the specified dimension. More...
 
octave_idx_typeoperator() (octave_idx_type i, octave_idx_type j)
 Size of the specified dimension. More...
 
octave_idx_typeoperator() (octave_idx_type i, octave_idx_type j, octave_idx_type k)
 Size of the specified dimension. More...
 
octave_idx_typeoperator() (const Array< octave_idx_type > &ra_idx)
 Size of the specified dimension. More...
 
crefT operator() (octave_idx_type n) const
 Size of the specified dimension. More...
 
crefT operator() (octave_idx_type i, octave_idx_type j, octave_idx_type k) const
 Size of the specified dimension. More...
 
crefT operator() (const Array< octave_idx_type > &ra_idx) const
 Size of the specified dimension. More...
 
Array< octave_idx_typecolumn (octave_idx_type k) const
 Extract column: A(:,k+1). More...
 
Array< octave_idx_typepage (octave_idx_type k) const
 Extract page: A(:,:,k+1). More...
 
Array< octave_idx_typelinear_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...
 
Array< octave_idx_typereshape (octave_idx_type nr, octave_idx_type nc) const
 Size of the specified dimension. More...
 
Array< octave_idx_typereshape (const dim_vector &new_dims) const
 Size of the specified dimension. More...
 
Array< octave_idx_typepermute (const Array< octave_idx_type > &vec, bool inv=false) const
 Size of the specified dimension. More...
 
Array< octave_idx_typeipermute (const Array< octave_idx_type > &vec) const
 Size of the specified dimension. More...
 
bool issquare (void) const
 Size of the specified dimension. More...
 
bool isvector (void) const
 Size of the specified dimension. More...
 
bool is_nd_vector (void) const
 Size of the specified dimension. More...
 
Array< octave_idx_typehermitian (octave_idx_type(*fcn)(const octave_idx_type &)=nullptr) const
 Size of the specified dimension. More...
 
const octave_idx_typedata (void) const
 Size of the specified dimension. More...
 
const octave_idx_typefortran_vec (void) const
 Size of the specified dimension. More...
 
octave_idx_typefortran_vec (void)
 Size of the specified dimension. More...
 
bool is_shared (void)
 Size of the specified dimension. More...
 
Array< octave_idx_typeindex (const idx_vector &i) const
 Indexing without resizing. More...
 
Array< octave_idx_typeindex (const idx_vector &i, const idx_vector &j) const
 Size of the specified dimension. More...
 
Array< octave_idx_typeindex (const Array< idx_vector > &ia) const
 Size of the specified dimension. More...
 
Array< octave_idx_typeindex (const idx_vector &i, bool resize_ok, const octave_idx_type &rfv) const
 Indexing with possible resizing and fill. More...
 
Array< octave_idx_typeindex (const idx_vector &i, bool resize_ok) const
 Size of the specified dimension. More...
 
Array< octave_idx_typeindex (const idx_vector &i, const idx_vector &j, bool resize_ok, const octave_idx_type &rfv) const
 Size of the specified dimension. More...
 
Array< octave_idx_typeindex (const idx_vector &i, const idx_vector &j, bool resize_ok) const
 Size of the specified dimension. More...
 
Array< octave_idx_typeindex (const Array< idx_vector > &ia, bool resize_ok, const octave_idx_type &rfv) const
 Size of the specified dimension. More...
 
Array< octave_idx_typeindex (const Array< idx_vector > &ia, bool resize_ok) const
 Size of the specified dimension. More...
 
virtual octave_idx_type resize_fill_value (void) const
 Size of the specified dimension. More...
 
void resize2 (octave_idx_type nr, octave_idx_type nc, const octave_idx_type &rfv)
 Resizing (with fill). More...
 
void resize2 (octave_idx_type nr, octave_idx_type nc)
 Size of the specified dimension. More...
 
void resize1 (octave_idx_type n, const octave_idx_type &rfv)
 Size of the specified dimension. More...
 
void resize1 (octave_idx_type n)
 Size of the specified dimension. More...
 
void resize (const dim_vector &dv, const octave_idx_type &rfv)
 Size of the specified dimension. More...
 
void resize (const dim_vector &dv)
 Size of the specified dimension. More...
 
void assign (const idx_vector &i, const Array< octave_idx_type > &rhs, const octave_idx_type &rfv)
 Indexed assignment (always with resize & fill). More...
 
void assign (const idx_vector &i, const Array< octave_idx_type > &rhs)
 Size of the specified dimension. More...
 
void assign (const idx_vector &i, const idx_vector &j, const Array< octave_idx_type > &rhs, const octave_idx_type &rfv)
 Size of the specified dimension. More...
 
void assign (const idx_vector &i, const idx_vector &j, const Array< octave_idx_type > &rhs)
 Size of the specified dimension. More...
 
void assign (const Array< idx_vector > &ia, const Array< octave_idx_type > &rhs, const octave_idx_type &rfv)
 Size of the specified dimension. More...
 
void assign (const Array< idx_vector > &ia, const Array< octave_idx_type > &rhs)
 Size of the specified dimension. More...
 
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...
 
Array< octave_idx_type > & insert (const Array< octave_idx_type > &a, const Array< octave_idx_type > &idx)
 Insert an array into another at a specified position. More...
 
Array< octave_idx_type > & insert (const Array< octave_idx_type > &a, octave_idx_type r, octave_idx_type c)
 This is just a special case for idx = [r c 0 ...]. More...
 
void maybe_economize (void)
 Size of the specified dimension. More...
 
void * mex_get_data (void) const
 Give a pointer to the data in mex format. More...
 
Array< octave_idx_typesort (int dim=0, sortmode mode=ASCENDING) const
 Size of the specified dimension. More...
 
Array< octave_idx_typesort (Array< octave_idx_type > &sidx, int dim=0, sortmode mode=ASCENDING) const
 Size of the specified dimension. More...
 
sortmode issorted (sortmode mode=UNSORTED) const
 Ordering is auto-detected or can be specified. More...
 
Array< octave_idx_typesort_rows_idx (sortmode mode=ASCENDING) const
 Sort by rows returns only indices. More...
 
sortmode is_sorted_rows (sortmode mode=UNSORTED) const
 Ordering is auto-detected or can be specified. More...
 
octave_idx_type lookup (const octave_idx_type &value, sortmode mode=UNSORTED) const
 Do a binary lookup in a sorted array. More...
 
Array< octave_idx_typelookup (const Array< octave_idx_type > &values, sortmode mode=UNSORTED) const
 Ditto, but for an array of values, specializing on the case when values are sorted. More...
 
octave_idx_type nnz (void) const
 Count nonzero elements. More...
 
Array< octave_idx_typefind (octave_idx_type n=-1, bool backward=false) const
 Find indices of (at most n) nonzero elements. More...
 
Array< octave_idx_typenth_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...
 
Array< octave_idx_typediag (octave_idx_type k=0) const
 Get the kth super or subdiagonal. More...
 
Array< octave_idx_typediag (octave_idx_type m, octave_idx_type n) const
 Size of the specified dimension. More...
 
Array< U > map (F fcn) const
 Apply function fcn to each element of the Array<T>. More...
 
Array< U > map (U(&fcn)(octave_idx_type)) const
 Overloads for function references. More...
 
Array< U > map (U(&fcn)(const octave_idx_type &)) const
 Size of the specified dimension. More...
 
bool test (F fcn) const
 Generic any/all test functionality with arbitrary predicate. More...
 
bool test_any (F fcn) const
 Simpler calls. More...
 
bool test_any (bool(&fcn)(octave_idx_type)) const
 Overloads for function references. More...
 
bool test_any (bool(&fcn)(const octave_idx_type &)) const
 Size of the specified dimension. More...
 
bool test_all (F fcn) const
 Size of the specified dimension. More...
 
bool test_all (bool(&fcn)(octave_idx_type)) const
 Size of the specified dimension. More...
 
bool test_all (bool(&fcn)(const octave_idx_type &)) const
 Size of the specified dimension. More...
 
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...
 
int jit_ref_count (void)
 WARNING: Only call these functions from jit. More...
 
octave_idx_typejit_slice_data (void) const
 Size of the specified dimension. More...
 
octave_idx_typejit_dimensions (void) const
 Size of the specified dimension. More...
 
void * jit_array_rep (void) const
 Size of the specified dimension. More...
 
static void instantiation_guard ()
 Size of the specified dimension. More...
 
static Array< octave_idx_typecat (int dim, octave_idx_type n, const Array< octave_idx_type > *array_list)
 Concatenation along a specified (0-based) dimension, equivalent to cat(). More...
 

Detailed Description

Definition at line 37 of file PermMatrix.h.

Member Typedef Documentation

◆ compare_fcn_type

typedef bool(* Array< octave_idx_type >::compare_fcn_type) (typename ref_param< octave_idx_type >::type, typename ref_param< octave_idx_type >::type)
inherited

Definition at line 212 of file Array.h.

◆ crefT

typedef ref_param<octave_idx_type >::type Array< octave_idx_type >::crefT
inherited

Definition at line 210 of file Array.h.

◆ element_type

Definition at line 202 of file Array.h.

◆ size_type

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

Definition at line 208 of file Array.h.

◆ value_type

Definition at line 204 of file Array.h.

Constructor & Destructor Documentation

◆ PermMatrix() [1/5]

PermMatrix::PermMatrix ( void  )
default

Referenced by eye(), pos_power(), and power().

◆ PermMatrix() [2/5]

PermMatrix::PermMatrix ( const PermMatrix m)
default

◆ ~PermMatrix()

PermMatrix::~PermMatrix ( void  )
default

◆ PermMatrix() [3/5]

PermMatrix::PermMatrix ( octave_idx_type  n)

Definition at line 83 of file PermMatrix.cc.

References n, and Array< octave_idx_type >::xelem().

◆ PermMatrix() [4/5]

PermMatrix::PermMatrix ( const Array< octave_idx_type > &  p,
bool  colp,
bool  check = true 
)

Definition at line 55 of file PermMatrix.cc.

References setup().

◆ PermMatrix() [5/5]

PermMatrix::PermMatrix ( const idx_vector idx,
bool  colp,
octave_idx_type  n = 0 
)

Definition at line 77 of file PermMatrix.cc.

References n, and setup().

Member Function Documentation

◆ as_column()

Array<octave_idx_type > Array< octave_idx_type >::as_column ( void  ) const
inlineinherited

Return the array as a column vector.

Definition at line 381 of file Array.h.

◆ as_matrix()

Array<octave_idx_type > Array< octave_idx_type >::as_matrix ( void  ) const
inlineinherited

Return the array as a matrix.

Definition at line 401 of file Array.h.

◆ as_row()

Array<octave_idx_type > Array< octave_idx_type >::as_row ( void  ) const
inlineinherited

Return the array as a row vector.

Definition at line 391 of file Array.h.

◆ assign() [1/6]

void Array< octave_idx_type >::assign ( const Array< idx_vector > &  ia,
const Array< octave_idx_type > &  rhs 
)
inlineinherited

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

◆ assign() [2/6]

void Array< octave_idx_type >::assign ( const Array< idx_vector > &  ia,
const Array< octave_idx_type > &  rhs,
const octave_idx_type rfv 
)
inherited

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

◆ assign() [3/6]

void Array< octave_idx_type >::assign ( const idx_vector i,
const Array< octave_idx_type > &  rhs 
)
inlineinherited

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.

◆ assign() [4/6]

void Array< octave_idx_type >::assign ( const idx_vector i,
const Array< octave_idx_type > &  rhs,
const octave_idx_type rfv 
)
inherited

Indexed assignment (always with resize & fill).

Definition at line 647 of file Array.cc.

◆ assign() [5/6]

void Array< octave_idx_type >::assign ( const idx_vector i,
const idx_vector j,
const Array< octave_idx_type > &  rhs 
)
inlineinherited

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

◆ assign() [6/6]

void Array< octave_idx_type >::assign ( const idx_vector i,
const idx_vector j,
const Array< octave_idx_type > &  rhs,
const octave_idx_type rfv 
)
inherited

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

◆ byte_size()

size_t PermMatrix::byte_size ( void  ) const
inline

Definition at line 72 of file PermMatrix.h.

References Array< T >::byte_size().

◆ cat()

Array< octave_idx_type > Array< octave_idx_type >::cat ( int  dim,
octave_idx_type  n,
const Array< octave_idx_type > *  array_list 
)
staticinherited

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

◆ checkelem() [1/8]

octave_idx_type & Array< octave_idx_type >::checkelem ( const Array< octave_idx_type > &  ra_idx)
inherited

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

◆ checkelem() [2/8]

Array< octave_idx_type >::crefT Array< octave_idx_type >::checkelem ( const Array< octave_idx_type > &  ra_idx) const
inherited

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

◆ checkelem() [3/8]

octave_idx_type & Array< octave_idx_type >::checkelem ( octave_idx_type  i,
octave_idx_type  j 
)
inherited

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

◆ checkelem() [4/8]

octave_idx_type PermMatrix::checkelem ( octave_idx_type  i,
octave_idx_type  j 
) const

Definition at line 91 of file PermMatrix.cc.

References elem(), len, and Array< T >::numel().

Referenced by octave_perm_matrix::do_index_op().

◆ checkelem() [5/8]

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

◆ checkelem() [6/8]

Array< octave_idx_type >::crefT Array< octave_idx_type >::checkelem ( octave_idx_type  i,
octave_idx_type  j,
octave_idx_type  k 
) const
inherited

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.cc.

◆ checkelem() [7/8]

octave_idx_type & Array< octave_idx_type >::checkelem ( octave_idx_type  n)
inherited

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

◆ checkelem() [8/8]

Array< octave_idx_type >::crefT Array< octave_idx_type >::checkelem ( octave_idx_type  n) const
inherited

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

◆ clear() [1/3]

void Array< octave_idx_type >::clear ( const dim_vector dv)
inherited

Definition at line 371 of file Array.cc.

◆ clear() [2/3]

void Array< octave_idx_type >::clear ( octave_idx_type  r,
octave_idx_type  c 
)
inlineinherited

Definition at line 373 of file Array.h.

◆ clear() [3/3]

void Array< octave_idx_type >::clear ( void  )
inherited

Definition at line 370 of file Array.cc.

◆ col_perm_vec()

◆ cols()

octave_idx_type PermMatrix::cols ( void  ) const
inline

◆ column()

Array< octave_idx_type > Array< octave_idx_type >::column ( octave_idx_type  k) const
inherited

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

Definition at line 552 of file Array.cc.

◆ columns()

octave_idx_type PermMatrix::columns ( void  ) const
inline

Definition at line 62 of file PermMatrix.h.

References Array< T >::dim2().

Referenced by operator*(), and octave_perm_matrix::short_disp().

◆ compute_index() [1/3]

octave_idx_type Array< octave_idx_type >::compute_index ( const Array< octave_idx_type > &  ra_idx) const
inherited

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

◆ compute_index() [2/3]

octave_idx_type Array< octave_idx_type >::compute_index ( octave_idx_type  i,
octave_idx_type  j 
) const
inherited

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

◆ compute_index() [3/3]

octave_idx_type Array< octave_idx_type >::compute_index ( octave_idx_type  i,
octave_idx_type  j,
octave_idx_type  k 
) const
inherited

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

◆ compute_index_unchecked()

octave_idx_type Array< octave_idx_type >::compute_index_unchecked ( const Array< octave_idx_type > &  ra_idx) const
inlineinherited

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

◆ data()

const octave_idx_type * Array< octave_idx_type >::data ( void  ) const
inlineinherited

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.

◆ delete_elements() [1/3]

void Array< octave_idx_type >::delete_elements ( const Array< idx_vector > &  ia)
inherited

Dispatcher to the above two.

Definition at line 677 of file Array.cc.

◆ delete_elements() [2/3]

void Array< octave_idx_type >::delete_elements ( const idx_vector i)
inherited

Deleting elements.

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

Definition at line 671 of file Array.cc.

◆ delete_elements() [3/3]

void Array< octave_idx_type >::delete_elements ( int  dim,
const idx_vector i 
)
inherited

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

Definition at line 674 of file Array.cc.

◆ determinant()

octave_idx_type PermMatrix::determinant ( void  ) const

Definition at line 120 of file PermMatrix.cc.

References Array< octave_idx_type >::data(), len, OCTAVE_LOCAL_BUFFER, and perm_length().

Referenced by Fdet().

◆ diag() [1/2]

Array< octave_idx_type > Array< octave_idx_type >::diag ( octave_idx_type  k = 0) const
inherited

Get the kth super or subdiagonal.

The zeroth diagonal is the ordinary diagonal.

Definition at line 744 of file Array.cc.

◆ diag() [2/2]

Array< octave_idx_type > Array< octave_idx_type >::diag ( octave_idx_type  m,
octave_idx_type  n 
) const
inherited

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

◆ dim1()

octave_idx_type PermMatrix::dim1 ( void  ) const
inline

Definition at line 55 of file PermMatrix.h.

References Array< T >::numel().

◆ dim2()

octave_idx_type PermMatrix::dim2 ( void  ) const
inline

Definition at line 57 of file PermMatrix.h.

References Array< T >::numel().

◆ dim3()

octave_idx_type Array< octave_idx_type >::dim3 ( void  ) const
inlineinherited

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

◆ dims()

dim_vector PermMatrix::dims ( void  ) const
inline

Definition at line 75 of file PermMatrix.h.

◆ elem() [1/8]

octave_idx_type & Array< octave_idx_type >::elem ( const Array< octave_idx_type > &  ra_idx)
inlineinherited

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

◆ elem() [2/8]

crefT Array< octave_idx_type >::elem ( const Array< octave_idx_type > &  ra_idx) const
inlineinherited

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.

◆ elem() [3/8]

octave_idx_type & Array< octave_idx_type >::elem ( octave_idx_type  i,
octave_idx_type  j 
)
inlineinherited

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

◆ elem() [4/8]

octave_idx_type PermMatrix::elem ( octave_idx_type  i,
octave_idx_type  j 
) const
inline

Definition at line 85 of file PermMatrix.h.

Referenced by checkelem(), and octave_perm_matrix::fast_elem_extract().

◆ elem() [5/8]

octave_idx_type & Array< octave_idx_type >::elem ( octave_idx_type  i,
octave_idx_type  j,
octave_idx_type  k 
)
inlineinherited

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

◆ elem() [6/8]

crefT Array< octave_idx_type >::elem ( octave_idx_type  i,
octave_idx_type  j,
octave_idx_type  k 
) const
inlineinherited

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

◆ elem() [7/8]

octave_idx_type & Array< octave_idx_type >::elem ( octave_idx_type  n)
inlineinherited

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.

◆ elem() [8/8]

crefT Array< octave_idx_type >::elem ( octave_idx_type  n) const
inlineinherited

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

◆ eye()

PermMatrix PermMatrix::eye ( octave_idx_type  n)
static

Definition at line 205 of file PermMatrix.cc.

References PermMatrix(), and n.

Referenced by Fluupdate().

◆ fill()

void Array< octave_idx_type >::fill ( const octave_idx_type val)
inherited

Definition at line 368 of file Array.cc.

◆ find() [1/2]

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

Find indices of (at most n) nonzero elements.

If n is specified, backward specifies search from backward.

Definition at line 734 of file Array.cc.

◆ find() [2/2]

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

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

◆ fortran_vec() [1/2]

octave_idx_type * Array< octave_idx_type >::fortran_vec ( void  )
inherited

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

◆ fortran_vec() [2/2]

const octave_idx_type * Array< octave_idx_type >::fortran_vec ( void  ) const
inlineinherited

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.

◆ hermitian()

Array< octave_idx_type > Array< octave_idx_type >::hermitian ( octave_idx_type (*)(const octave_idx_type &)  fcn = nullptr) const
inherited

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.cc.

◆ index() [1/9]

Array< octave_idx_type > Array< octave_idx_type >::index ( const Array< idx_vector > &  ia) const
inherited

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

◆ index() [2/9]

Array<octave_idx_type > Array< octave_idx_type >::index ( const Array< idx_vector > &  ia,
bool  resize_ok 
) const
inlineinherited

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.

◆ index() [3/9]

Array< octave_idx_type > Array< octave_idx_type >::index ( const Array< idx_vector > &  ia,
bool  resize_ok,
const octave_idx_type rfv 
) const
inherited

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

◆ index() [4/9]

Array< octave_idx_type > Array< octave_idx_type >::index ( const idx_vector i) const
inherited

Indexing without resizing.

Definition at line 593 of file Array.cc.

◆ index() [5/9]

Array<octave_idx_type > Array< octave_idx_type >::index ( const idx_vector i,
bool  resize_ok 
) const
inlineinherited

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

◆ index() [6/9]

Array< octave_idx_type > Array< octave_idx_type >::index ( const idx_vector i,
bool  resize_ok,
const octave_idx_type rfv 
) const
inherited

Indexing with possible resizing and fill.

Definition at line 623 of file Array.cc.

◆ index() [7/9]

Array< octave_idx_type > Array< octave_idx_type >::index ( const idx_vector i,
const idx_vector j 
) const
inherited

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.cc.

◆ index() [8/9]

Array<octave_idx_type > Array< octave_idx_type >::index ( const idx_vector i,
const idx_vector j,
bool  resize_ok 
) const
inlineinherited

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

◆ index() [9/9]

Array< octave_idx_type > Array< octave_idx_type >::index ( const idx_vector i,
const idx_vector j,
bool  resize_ok,
const octave_idx_type rfv 
) const
inherited

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

◆ insert() [1/2]

Array< octave_idx_type > & Array< octave_idx_type >::insert ( const Array< octave_idx_type > &  a,
const Array< octave_idx_type > &  idx 
)
inherited

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

◆ insert() [2/2]

Array< octave_idx_type > & Array< octave_idx_type >::insert ( const Array< octave_idx_type > &  a,
octave_idx_type  r,
octave_idx_type  c 
)
inherited

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

Definition at line 687 of file Array.cc.

◆ instantiation_guard() [1/15]

void Array< Complex >::instantiation_guard ( )
privateinherited

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

◆ instantiation_guard() [2/15]

void Array< float >::instantiation_guard ( )
privateinherited

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

◆ instantiation_guard() [3/15]

void Array< FloatComplex >::instantiation_guard ( )
privateinherited

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

◆ instantiation_guard() [4/15]

void Array< long >::instantiation_guard ( )
privateinherited

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

◆ instantiation_guard() [5/15]

void Array< octave_int8 >::instantiation_guard ( )
privateinherited

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

◆ instantiation_guard() [6/15]

void Array< octave_int16 >::instantiation_guard ( )
privateinherited

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

◆ instantiation_guard() [7/15]

void Array< octave_int32 >::instantiation_guard ( )
privateinherited

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

◆ instantiation_guard() [8/15]

void Array< octave_int64 >::instantiation_guard ( )
privateinherited

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

◆ instantiation_guard() [9/15]

void Array< octave_uint8 >::instantiation_guard ( )
privateinherited

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

◆ instantiation_guard() [10/15]

void Array< octave_uint16 >::instantiation_guard ( )
privateinherited

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

◆ instantiation_guard() [11/15]

void Array< octave_uint32 >::instantiation_guard ( )
privateinherited

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

◆ instantiation_guard() [12/15]

void Array< octave_uint64 >::instantiation_guard ( )
privateinherited

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

◆ instantiation_guard() [13/15]

void Array< idx_vector >::instantiation_guard ( )
privateinherited

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

◆ instantiation_guard() [14/15]

void Array< short >::instantiation_guard ( )
privateinherited

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

◆ instantiation_guard() [15/15]

void Array< octave_idx_type >::instantiation_guard
staticprivateinherited

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

◆ inverse()

PermMatrix PermMatrix::inverse ( void  ) const

◆ ipermute()

Array<octave_idx_type > Array< octave_idx_type >::ipermute ( const Array< octave_idx_type > &  vec) const
inlineinherited

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

◆ is_col_perm()

bool PermMatrix::is_col_perm ( void  ) const
inline

Definition at line 109 of file PermMatrix.h.

◆ is_nd_vector()

bool Array< octave_idx_type >::is_nd_vector ( void  ) const
inlineinherited

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

◆ is_row_perm()

bool PermMatrix::is_row_perm ( void  ) const
inline

Definition at line 110 of file PermMatrix.h.

◆ is_shared()

bool Array< octave_idx_type >::is_shared ( void  )
inlineinherited

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

◆ is_sorted_rows() [1/2]

sortmode Array< octave_idx_type >::is_sorted_rows ( sortmode  mode = UNSORTED) const
inherited

Ordering is auto-detected or can be specified.

Definition at line 718 of file Array.cc.

◆ is_sorted_rows() [2/2]

sortmode Array< idx_vector >::is_sorted_rows ( sortmode  ) const
inherited

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

◆ isempty()

bool PermMatrix::isempty ( void  ) const
inline

Definition at line 77 of file PermMatrix.h.

References Array< T >::numel().

Referenced by octave_perm_matrix::short_disp().

◆ issorted() [1/3]

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

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

◆ issorted() [2/3]

sortmode Array< octave_idx_type >::issorted ( sortmode  mode = UNSORTED) const
inherited

Ordering is auto-detected or can be specified.

Definition at line 712 of file Array.cc.

◆ issorted() [3/3]

sortmode Array< idx_vector >::issorted ( sortmode  ) const
inherited

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

◆ issquare()

bool Array< octave_idx_type >::issquare ( void  ) const
inlineinherited

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

◆ isvector()

bool Array< octave_idx_type >::isvector ( void  ) const
inlineinherited

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.

◆ jit_array_rep()

void* Array< octave_idx_type >::jit_array_rep ( void  ) const
inlineinherited

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

◆ jit_dimensions()

octave_idx_type* Array< octave_idx_type >::jit_dimensions ( void  ) const
inlineinherited

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

◆ jit_ref_count()

int Array< octave_idx_type >::jit_ref_count ( void  )
inlineinherited

WARNING: Only call these functions from jit.

Definition at line 843 of file Array.h.

◆ jit_slice_data()

octave_idx_type * Array< octave_idx_type >::jit_slice_data ( void  ) const
inlineinherited

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

◆ length()

octave_idx_type PermMatrix::length ( void  ) const
inline

Definition at line 67 of file PermMatrix.h.

◆ linear_slice()

Array< octave_idx_type > Array< octave_idx_type >::linear_slice ( octave_idx_type  lo,
octave_idx_type  up 
) const
inherited

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

◆ lookup() [1/4]

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

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

◆ lookup() [2/4]

Array< octave_idx_type > Array< octave_idx_type >::lookup ( const Array< octave_idx_type > &  values,
sortmode  mode = UNSORTED 
) const
inherited

Ditto, but for an array of values, specializing on the case when values are sorted.

NaNs get the value N.

Definition at line 726 of file Array.cc.

◆ lookup() [3/4]

octave_idx_type Array< octave_idx_type >::lookup ( const octave_idx_type value,
sortmode  mode = UNSORTED 
) const
inherited

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

◆ lookup() [4/4]

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

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

◆ make_unique()

void Array< octave_idx_type >::make_unique ( void  )
inlineinherited

Definition at line 188 of file Array.h.

◆ map() [1/3]

Array<U> Array< octave_idx_type >::map ( fcn) const
inlineinherited

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

This function is optimized with a manually unrolled loop.

Definition at line 759 of file Array.h.

◆ map() [2/3]

Array<U> Array< octave_idx_type >::map ( U(&)(const octave_idx_type &)  fcn) const
inlineinherited

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

◆ map() [3/3]

Array<U> Array< octave_idx_type >::map ( U(&)(octave_idx_type fcn) const
inlineinherited

Overloads for function references.

Definition at line 791 of file Array.h.

◆ maybe_economize()

void Array< octave_idx_type >::maybe_economize ( void  )
inlineinherited

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

◆ mex_get_data()

void* Array< octave_idx_type >::mex_get_data ( void  ) const
inlineinherited

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

◆ ndims()

int PermMatrix::ndims ( void  ) const
inline

Definition at line 79 of file PermMatrix.h.

Referenced by octave_perm_matrix::short_disp().

◆ nil_rep()

Array< octave_idx_type >::ArrayRep * Array< octave_idx_type >::nil_rep ( void  )
staticprivateinherited

Definition at line 242 of file Array.cc.

◆ nnz() [1/2]

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

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

◆ nnz() [2/2]

octave_idx_type Array< octave_idx_type >::nnz ( void  ) const
inherited

Count nonzero elements.

Definition at line 730 of file Array.cc.

◆ nth_element() [1/2]

Array< idx_vector > Array< idx_vector >::nth_element ( const idx_vector ,
int   
) const
inherited

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

◆ nth_element() [2/2]

Array< octave_idx_type > Array< octave_idx_type >::nth_element ( const idx_vector n,
int  dim = 0 
) const
inherited

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

◆ numel()

◆ operator()() [1/8]

octave_idx_type & Array< octave_idx_type >::operator() ( const Array< octave_idx_type > &  ra_idx)
inlineinherited

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.

◆ operator()() [2/8]

crefT Array< octave_idx_type >::operator() ( const Array< octave_idx_type > &  ra_idx) const
inlineinherited

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

◆ operator()() [3/8]

octave_idx_type & Array< octave_idx_type >::operator() ( octave_idx_type  i,
octave_idx_type  j 
)
inlineinherited

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

◆ operator()() [4/8]

octave_idx_type PermMatrix::operator() ( octave_idx_type  i,
octave_idx_type  j 
) const
inline

Definition at line 94 of file PermMatrix.h.

References Array< T >::elem().

◆ operator()() [5/8]

octave_idx_type & Array< octave_idx_type >::operator() ( octave_idx_type  i,
octave_idx_type  j,
octave_idx_type  k 
)
inlineinherited

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

◆ operator()() [6/8]

crefT Array< octave_idx_type >::operator() ( octave_idx_type  i,
octave_idx_type  j,
octave_idx_type  k 
) const
inlineinherited

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

◆ operator()() [7/8]

octave_idx_type & Array< octave_idx_type >::operator() ( octave_idx_type  n)
inlineinherited

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

◆ operator()() [8/8]

crefT Array< octave_idx_type >::operator() ( octave_idx_type  n) const
inlineinherited

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.

◆ operator=()

PermMatrix& PermMatrix::operator= ( const PermMatrix m)
default

◆ optimize_dimensions()

bool Array< octave_idx_type >::optimize_dimensions ( const dim_vector dv)
inherited

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

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

Definition at line 838 of file Array.cc.

◆ page()

Array< octave_idx_type > Array< octave_idx_type >::page ( octave_idx_type  k) const
inherited

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

Definition at line 554 of file Array.cc.

◆ pages()

octave_idx_type Array< octave_idx_type >::pages ( void  ) const
inlineinherited

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

◆ perm_length()

octave_idx_type PermMatrix::perm_length ( void  ) const
inline

Definition at line 64 of file PermMatrix.h.

References Array< T >::numel().

Referenced by determinant().

◆ permute()

Array< octave_idx_type > Array< octave_idx_type >::permute ( const Array< octave_idx_type > &  vec,
bool  inv = false 
) const
inherited

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

◆ pos_power()

PermMatrix PermMatrix::pos_power ( octave_idx_type  m) const
private

Definition at line 166 of file PermMatrix.cc.

References PermMatrix(), Array< octave_idx_type >::data(), Array< T >::fortran_vec(), m, n, and rows().

Referenced by power().

◆ power()

PermMatrix PermMatrix::power ( octave_idx_type  n) const

Definition at line 155 of file PermMatrix.cc.

References PermMatrix(), inverse(), m, pos_power(), and rows().

Referenced by xpow().

◆ print_info()

void PermMatrix::print_info ( std::ostream &  os,
const std::string &  prefix 
) const
inline

Definition at line 112 of file PermMatrix.h.

References Array< T >::print_info().

Referenced by octave_perm_matrix::print_info().

◆ reshape() [1/2]

Array<octave_idx_type > Array< octave_idx_type >::reshape ( const dim_vector new_dims) const
inlineinherited

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

◆ reshape() [2/2]

Array<octave_idx_type > Array< octave_idx_type >::reshape ( octave_idx_type  nr,
octave_idx_type  nc 
) const
inlineinherited

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

◆ resize() [1/2]

void Array< octave_idx_type >::resize ( const dim_vector dv)
inlineinherited

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

◆ resize() [2/2]

void Array< octave_idx_type >::resize ( const dim_vector dv,
const octave_idx_type rfv 
)
inherited

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.cc.

◆ resize1() [1/2]

void Array< octave_idx_type >::resize1 ( octave_idx_type  n)
inlineinherited

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.

◆ resize1() [2/2]

void Array< octave_idx_type >::resize1 ( octave_idx_type  n,
const octave_idx_type rfv 
)
inherited

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

◆ resize2() [1/2]

void Array< octave_idx_type >::resize2 ( octave_idx_type  nr,
octave_idx_type  nc 
)
inlineinherited

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

◆ resize2() [2/2]

void Array< octave_idx_type >::resize2 ( octave_idx_type  nr,
octave_idx_type  nc,
const octave_idx_type rfv 
)
inherited

Resizing (with fill).

Definition at line 604 of file Array.cc.

◆ resize_fill_value()

octave_idx_type Array< octave_idx_type >::resize_fill_value ( void  ) const
virtualinherited

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

◆ rows()

◆ setup() [1/2]

void PermMatrix::setup ( const Array< octave_idx_type > &  p,
bool  colp,
bool  check 
)
private

Definition at line 43 of file PermMatrix.cc.

References err_invalid_permutation(), Array< T >::numel(), and transpose().

Referenced by PermMatrix().

◆ setup() [2/2]

void PermMatrix::setup ( const idx_vector idx,
bool  colp,
octave_idx_type  n 
)
private

◆ size()

size_type Array< octave_idx_type >::size ( const size_type  d) const
inlineinherited

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

◆ sort() [1/4]

Array< octave_idx_type > Array< octave_idx_type >::sort ( Array< octave_idx_type > &  sidx,
int  dim = 0,
sortmode  mode = ASCENDING 
) const
inherited

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

◆ sort() [2/4]

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

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

◆ sort() [3/4]

Array< octave_idx_type > Array< octave_idx_type >::sort ( int  dim = 0,
sortmode  mode = ASCENDING 
) const
inherited

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

◆ sort() [4/4]

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

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

◆ sort_rows_idx() [1/2]

Array< octave_idx_type > Array< octave_idx_type >::sort_rows_idx ( sortmode  mode = ASCENDING) const
inherited

Sort by rows returns only indices.

Definition at line 715 of file Array.cc.

◆ sort_rows_idx() [2/2]

Array< octave_idx_type > Array< idx_vector >::sort_rows_idx ( sortmode  ) const
inherited

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

◆ squeeze()

Array< octave_idx_type > Array< octave_idx_type >::squeeze ( void  ) const
inherited

Chop off leading singleton dimensions.

Definition at line 456 of file Array.cc.

◆ test()

bool Array< octave_idx_type >::test ( fcn) const
inlineinherited

Generic any/all test functionality with arbitrary predicate.

Definition at line 802 of file Array.h.

◆ test_all() [1/3]

bool Array< octave_idx_type >::test_all ( bool(&)(const octave_idx_type &)  fcn) const
inlineinherited

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

◆ test_all() [2/3]

bool Array< octave_idx_type >::test_all ( bool(&)(octave_idx_type fcn) const
inlineinherited

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

◆ test_all() [3/3]

bool Array< octave_idx_type >::test_all ( fcn) const
inlineinherited

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

◆ test_any() [1/3]

bool Array< octave_idx_type >::test_any ( bool(&)(const octave_idx_type &)  fcn) const
inlineinherited

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

◆ test_any() [2/3]

bool Array< octave_idx_type >::test_any ( bool(&)(octave_idx_type fcn) const
inlineinherited

Overloads for function references.

Definition at line 820 of file Array.h.

◆ test_any() [3/3]

bool Array< octave_idx_type >::test_any ( fcn) const
inlineinherited

Simpler calls.

Definition at line 810 of file Array.h.

◆ transpose()

PermMatrix PermMatrix::transpose ( void  ) const

◆ xelem() [1/8]

octave_idx_type & Array< octave_idx_type >::xelem ( const Array< octave_idx_type > &  ra_idx)
inlineinherited

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

◆ xelem() [2/8]

crefT Array< octave_idx_type >::xelem ( const Array< octave_idx_type > &  ra_idx) const
inlineinherited

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

◆ xelem() [3/8]

octave_idx_type & Array< octave_idx_type >::xelem ( octave_idx_type  i,
octave_idx_type  j 
)
inlineinherited

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

◆ xelem() [4/8]

crefT Array< octave_idx_type >::xelem ( octave_idx_type  i,
octave_idx_type  j 
) const
inlineinherited

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

◆ xelem() [5/8]

octave_idx_type & Array< octave_idx_type >::xelem ( octave_idx_type  i,
octave_idx_type  j,
octave_idx_type  k 
)
inlineinherited

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

◆ xelem() [6/8]

crefT Array< octave_idx_type >::xelem ( octave_idx_type  i,
octave_idx_type  j,
octave_idx_type  k 
) const
inlineinherited

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.

◆ xelem() [7/8]

octave_idx_type & Array< octave_idx_type >::xelem ( octave_idx_type  n)
inlineinherited

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

◆ xelem() [8/8]

crefT Array< octave_idx_type >::xelem ( octave_idx_type  n) const
inlineinherited

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

Member Data Documentation

◆ dimensions

dim_vector Array< octave_idx_type >::dimensions
protectedinherited

Definition at line 217 of file Array.h.

◆ rep

Array<octave_idx_type >::ArrayRep* Array< octave_idx_type >::rep
protectedinherited

Definition at line 219 of file Array.h.

◆ slice_data

octave_idx_type * Array< octave_idx_type >::slice_data
protectedinherited

Definition at line 228 of file Array.h.

◆ slice_len

octave_idx_type Array< octave_idx_type >::slice_len
protectedinherited

Definition at line 229 of file Array.h.


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