GNU Octave  4.0.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
PermMatrix Class Reference

#include "PermMatrix.h"

Inheritance diagram for PermMatrix:
Inheritance graph
[legend]
Collaboration diagram for PermMatrix:
Collaboration graph
[legend]

Public Member Functions

 PermMatrix (void)
 
 PermMatrix (octave_idx_type n)
 
 PermMatrix (const Array< octave_idx_type > &p) GCC_ATTR_DEPRECATED
 
 PermMatrix (const Array< octave_idx_type > &p, bool colp, bool check=true)
 
 PermMatrix (const PermMatrix &m)
 
 PermMatrix (const idx_vector &idx) GCC_ATTR_DEPRECATED
 
 PermMatrix (const idx_vector &idx, bool colp, octave_idx_type n=0)
 
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
 
octave_idx_type length (void) const
 
octave_idx_type nelem (void) const
 
octave_idx_type numel (void) const
 
octave_idx_type operator() (octave_idx_type i, octave_idx_type j) const
 
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
 

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...
 
octave_idx_typecheckelem (octave_idx_type n)
 
octave_idx_typecheckelem (octave_idx_type i, octave_idx_type j)
 
octave_idx_typecheckelem (octave_idx_type i, octave_idx_type j, octave_idx_type k)
 
octave_idx_typecheckelem (const Array< octave_idx_type > &ra_idx)
 
crefT checkelem (octave_idx_type n) 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< octave_idx_typecolumn (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 octave_idx_typedata (void) const
 
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
 
octave_idx_typeelem (octave_idx_type n)
 
octave_idx_typeelem (octave_idx_type i, octave_idx_type j)
 
octave_idx_typeelem (octave_idx_type i, octave_idx_type j, octave_idx_type k)
 
octave_idx_typeelem (const Array< octave_idx_type > &ra_idx)
 
crefT elem (octave_idx_type n) 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 octave_idx_type &val)
 
Array< octave_idx_typefind (octave_idx_type n=-1, bool backward=false) const
 Find indices of (at most n) nonzero elements. More...
 
const octave_idx_typefortran_vec (void) const
 
octave_idx_typefortran_vec (void)
 
Array< octave_idx_typehermitian (octave_idx_type(*fcn)(const octave_idx_type &)=0) const
 
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...
 
Array< octave_idx_typeipermute (const Array< octave_idx_type > &vec) const
 
bool is_empty (void) const
 
bool is_shared (void)
 
sortmode is_sorted (sortmode mode=UNSORTED) const
 Ordering is auto-detected or can be specified. More...
 
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< 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...
 
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...
 
void make_unique (void)
 
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
 
octave_idx_type nnz (void) const
 Count 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...
 
octave_idx_typeoperator() (octave_idx_type n)
 
octave_idx_typeoperator() (octave_idx_type i, octave_idx_type j)
 
octave_idx_typeoperator() (octave_idx_type i, octave_idx_type j, octave_idx_type k)
 
octave_idx_typeoperator() (const Array< octave_idx_type > &ra_idx)
 
crefT operator() (octave_idx_type n) 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
 
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< octave_idx_typepage (octave_idx_type k) const
 Extract page: A(:,:,k+1). More...
 
Array< octave_idx_typepermute (const Array< octave_idx_type > &vec, bool inv=false) const
 
Array< octave_idx_typereshape (octave_idx_type nr, octave_idx_type nc) const
 
Array< octave_idx_typereshape (const dim_vector &new_dims) const
 
virtual octave_idx_type resize_fill_value (void) const
 
Array< octave_idx_typesort (int dim=0, sortmode mode=ASCENDING) const
 
Array< octave_idx_typesort (Array< octave_idx_type > &sidx, int dim=0, sortmode mode=ASCENDING) const
 
Array< octave_idx_typesort_rows_idx (sortmode mode=ASCENDING) const
 Sort by rows returns only indices. More...
 
Array< octave_idx_typesqueeze (void) const
 Chop off leading singleton dimensions. More...
 
bool test (F fcn) const
 Generic any/all test functionality with arbitrary predicate. More...
 
octave_idx_typexelem (octave_idx_type n)
 
crefT xelem (octave_idx_type n) const
 
octave_idx_typexelem (octave_idx_type i, octave_idx_type j)
 
crefT xelem (octave_idx_type i, octave_idx_type j) const
 
octave_idx_typexelem (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
 
octave_idx_typexelem (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...
 
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< 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
 
Array< octave_idx_typeindex (const Array< idx_vector > &ia) const
 
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
 
Array< octave_idx_typeindex (const idx_vector &i, const idx_vector &j, bool resize_ok, const octave_idx_type &rfv) const
 
Array< octave_idx_typeindex (const idx_vector &i, const idx_vector &j, bool resize_ok) const
 
Array< octave_idx_typeindex (const Array< idx_vector > &ia, bool resize_ok, const octave_idx_type &rfv) const
 
Array< octave_idx_typeindex (const Array< idx_vector > &ia, bool resize_ok) const
 
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)
 
void resize1 (octave_idx_type n, const octave_idx_type &rfv)
 
void resize1 (octave_idx_type n)
 
void resize (const dim_vector &dv, const octave_idx_type &rfv)
 
void resize (const dim_vector &dv)
 
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)
 
void assign (const idx_vector &i, const idx_vector &j, const Array< octave_idx_type > &rhs, const octave_idx_type &rfv)
 
void assign (const idx_vector &i, const idx_vector &j, const Array< octave_idx_type > &rhs)
 
void assign (const Array< idx_vector > &ia, const Array< octave_idx_type > &rhs, const octave_idx_type &rfv)
 
void assign (const Array< idx_vector > &ia, const Array< octave_idx_type > &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...
 
Array< U > map (U(&fcn)(octave_idx_type)) const
 Overloads for function references. More...
 
Array< U > map (U(&fcn)(const octave_idx_type &)) const
 
bool test_any (F fcn) const
 Simpler calls. More...
 
bool test_all (F fcn) const
 
bool test_any (bool(&fcn)(octave_idx_type)) const
 Overloads for function references. More...
 
bool test_any (bool(&fcn)(const octave_idx_type &)) const
 
bool test_all (bool(&fcn)(octave_idx_type)) const
 
bool test_all (bool(&fcn)(const octave_idx_type &)) const
 
intjit_ref_count (void)
 WARNING: Only call these functions from jit. More...
 
octave_idx_typejit_slice_data (void) const
 
octave_idx_typejit_dimensions (void) const
 
void * jit_array_rep (void) const
 

Static Protected Member Functions

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

Protected Attributes

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

Private Member Functions

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)
 

Detailed Description

Definition at line 32 of file PermMatrix.h.

Member Typedef Documentation

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

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

Definition at line 120 of file Array.h.

Definition at line 118 of file Array.h.

Constructor & Destructor Documentation

PermMatrix::PermMatrix ( void  )
inline

Definition at line 36 of file PermMatrix.h.

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

PermMatrix::PermMatrix ( octave_idx_type  n)

Definition at line 97 of file PermMatrix.cc.

References Array< octave_idx_type >::xelem().

PermMatrix::PermMatrix ( const Array< octave_idx_type > &  p)

Definition at line 55 of file PermMatrix.cc.

References setup().

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

Definition at line 61 of file PermMatrix.cc.

References setup().

PermMatrix::PermMatrix ( const PermMatrix m)
inline

Definition at line 44 of file PermMatrix.h.

PermMatrix::PermMatrix ( const idx_vector idx)

Definition at line 85 of file PermMatrix.cc.

References setup().

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

Definition at line 91 of file PermMatrix.cc.

References setup().

Member Function Documentation

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

Return the array as a column vector.

Definition at line 279 of file Array.h.

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

Return the array as a matrix.

Definition at line 299 of file Array.h.

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

Return the array as a row vector.

Definition at line 289 of file Array.h.

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

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

Definition at line 548 of file Array.h.

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
void Array< octave_idx_type >::assign ( const idx_vector i,
const idx_vector j,
const Array< octave_idx_type > &  rhs 
)
inlineinherited

Definition at line 555 of file Array.h.

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

Definition at line 561 of file Array.h.

size_t PermMatrix::byte_size ( void  ) const
inline

Definition at line 67 of file PermMatrix.h.

References Array< T >::byte_size().

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

Number of elements in the array.

Synonymous with length(), nelem(), and numel().

Definition at line 256 of file Array.h.

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

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

Definition at line 105 of file PermMatrix.cc.

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

Referenced by octave_perm_matrix::do_index_op().

octave_idx_type & Array< octave_idx_type >::checkelem ( octave_idx_type  n)
inherited
octave_idx_type & Array< octave_idx_type >::checkelem ( octave_idx_type  i,
octave_idx_type  j 
)
inherited
octave_idx_type & Array< octave_idx_type >::checkelem ( const Array< octave_idx_type > &  ra_idx)
inherited
crefT Array< octave_idx_type >::checkelem ( octave_idx_type  n) const
inherited
crefT Array< octave_idx_type >::checkelem ( octave_idx_type  i,
octave_idx_type  j,
octave_idx_type  k 
) const
inherited
crefT Array< octave_idx_type >::checkelem ( const Array< octave_idx_type > &  ra_idx) const
inherited
void Array< octave_idx_type >::clear ( void  )
inherited
void Array< octave_idx_type >::clear ( const dim_vector dv)
inherited
void Array< octave_idx_type >::clear ( octave_idx_type  r,
octave_idx_type  c 
)
inlineinherited

Definition at line 249 of file Array.h.

const Array<octave_idx_type>& PermMatrix::col_perm_vec ( void  ) const
inline
octave_idx_type PermMatrix::cols ( void  ) const
inline
Array<octave_idx_type > Array< octave_idx_type >::column ( octave_idx_type  k) const
inherited

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

octave_idx_type PermMatrix::columns ( void  ) const
inline

Definition at line 57 of file PermMatrix.h.

References Array< T >::dim2().

Referenced by octave_print_internal(), and operator*().

octave_idx_type Array< octave_idx_type >::compute_index ( octave_idx_type  i,
octave_idx_type  j 
) const
inherited
octave_idx_type Array< octave_idx_type >::compute_index ( octave_idx_type  i,
octave_idx_type  j,
octave_idx_type  k 
) const
inherited
octave_idx_type Array< octave_idx_type >::compute_index ( const Array< octave_idx_type > &  ra_idx) const
inherited
octave_idx_type Array< octave_idx_type >::compute_index_unchecked ( const Array< octave_idx_type > &  ra_idx) const
inlineinherited

Definition at line 347 of file Array.h.

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

Definition at line 479 of file Array.h.

Referenced by determinant(), and pos_power().

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

Deleting elements.

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

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

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

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

Dispatcher to the above two.

octave_idx_type PermMatrix::determinant ( void  ) const

Definition at line 138 of file PermMatrix.cc.

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

Referenced by Fdet().

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.

Array<octave_idx_type > Array< octave_idx_type >::diag ( octave_idx_type  m,
octave_idx_type  n 
) const
inherited
octave_idx_type PermMatrix::dim1 ( void  ) const
inline

Definition at line 50 of file PermMatrix.h.

References Array< T >::length().

octave_idx_type PermMatrix::dim2 ( void  ) const
inline

Definition at line 52 of file PermMatrix.h.

References Array< T >::length().

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

Definition at line 329 of file Array.h.

dim_vector PermMatrix::dims ( void  ) const
inline

Definition at line 70 of file PermMatrix.h.

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

Definition at line 76 of file PermMatrix.h.

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

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

Definition at line 380 of file Array.h.

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

Definition at line 386 of file Array.h.

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

Definition at line 388 of file Array.h.

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

Definition at line 391 of file Array.h.

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

Definition at line 417 of file Array.h.

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

Definition at line 422 of file Array.h.

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

Definition at line 425 of file Array.h.

PermMatrix PermMatrix::eye ( octave_idx_type  n)
static

Definition at line 223 of file PermMatrix.cc.

References PermMatrix().

Referenced by Fluupdate().

void Array< octave_idx_type >::fill ( const octave_idx_type val)
inherited
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.

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

Definition at line 481 of file Array.h.

octave_idx_type * Array< octave_idx_type >::fortran_vec ( void  )
inherited
Array<octave_idx_type > Array< octave_idx_type >::hermitian ( octave_idx_type (*)(const octave_idx_type &)  fcn = 0) const
inherited
Array<octave_idx_type > Array< octave_idx_type >::index ( const idx_vector i) const
inherited

Indexing without resizing.

Array<octave_idx_type > Array< octave_idx_type >::index ( const idx_vector i,
const idx_vector j 
) const
inherited
Array<octave_idx_type > Array< octave_idx_type >::index ( const Array< idx_vector > &  ia) const
inherited
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.

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

Definition at line 523 of file Array.h.

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
Array<octave_idx_type > Array< octave_idx_type >::index ( const idx_vector i,
const idx_vector j,
bool  resize_ok 
) const
inlineinherited

Definition at line 530 of file Array.h.

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

Definition at line 538 of file Array.h.

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.

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

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

Definition at line 467 of file Array.h.

bool PermMatrix::is_col_perm ( void  ) const
inline

Definition at line 104 of file PermMatrix.h.

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

Definition at line 472 of file Array.h.

bool PermMatrix::is_row_perm ( void  ) const
inline

Definition at line 105 of file PermMatrix.h.

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

Definition at line 485 of file Array.h.

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

Ordering is auto-detected or can be specified.

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

Ordering is auto-detected or can be specified.

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

Definition at line 470 of file Array.h.

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

Definition at line 474 of file Array.h.

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

Definition at line 749 of file Array.h.

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

Definition at line 747 of file Array.h.

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

WARNING: Only call these functions from jit.

Definition at line 743 of file Array.h.

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

Definition at line 745 of file Array.h.

octave_idx_type PermMatrix::length ( void  ) const
inline

Definition at line 62 of file PermMatrix.h.

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.

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.

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.

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

Definition at line 104 of file Array.h.

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

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

This function is optimised with a manually unrolled loop.

Definition at line 659 of file Array.h.

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

Overloads for function references.

Definition at line 691 of file Array.h.

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

Definition at line 696 of file Array.h.

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

Definition at line 589 of file Array.h.

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

int Array< octave_idx_type >::ndims ( void  ) const
inlineinherited

Definition at line 487 of file Array.h.

octave_idx_type PermMatrix::nelem ( void  ) const
inline

Definition at line 64 of file PermMatrix.h.

References Array< T >::dim1(), and Array< T >::dim2().

Referenced by octave_perm_matrix::try_narrowing_conversion().

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

Count nonzero elements.

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.

octave_idx_type PermMatrix::numel ( void  ) const
inline

Definition at line 65 of file PermMatrix.h.

References Array< T >::nelem().

Referenced by octave_perm_matrix::fast_elem_extract().

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

Definition at line 85 of file PermMatrix.h.

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

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

Definition at line 403 of file Array.h.

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

Definition at line 404 of file Array.h.

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

Definition at line 405 of file Array.h.

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

Definition at line 407 of file Array.h.

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

Definition at line 438 of file Array.h.

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

Definition at line 441 of file Array.h.

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

Definition at line 444 of file Array.h.

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

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

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

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

Definition at line 330 of file Array.h.

octave_idx_type PermMatrix::perm_length ( void  ) const
inline

Definition at line 59 of file PermMatrix.h.

References Array< T >::length().

Referenced by determinant().

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

Definition at line 184 of file PermMatrix.cc.

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

Referenced by power().

PermMatrix PermMatrix::power ( octave_idx_type  n) const

Definition at line 173 of file PermMatrix.cc.

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

Referenced by xpow().

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

Definition at line 107 of file PermMatrix.h.

References Array< T >::print_info().

Referenced by octave_perm_matrix::print_info().

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

Definition at line 460 of file Array.h.

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

Definition at line 463 of file Array.h.

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

Definition at line 512 of file Array.h.

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

Definition at line 509 of file Array.h.

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

Resizing (with fill).

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

Definition at line 503 of file Array.h.

virtual octave_idx_type Array< octave_idx_type >::resize_fill_value ( void  ) const
virtualinherited
octave_idx_type PermMatrix::rows ( void  ) const
inline
void PermMatrix::setup ( const Array< octave_idx_type > &  p,
bool  colp,
bool  check 
)
private
void PermMatrix::setup ( const idx_vector idx,
bool  colp,
octave_idx_type  n 
)
private
Array<octave_idx_type > Array< octave_idx_type >::sort ( int  dim = 0,
sortmode  mode = ASCENDING 
) const
inherited
Array<octave_idx_type > Array< octave_idx_type >::sort ( Array< octave_idx_type > &  sidx,
int  dim = 0,
sortmode  mode = ASCENDING 
) const
inherited
Array<octave_idx_type> Array< octave_idx_type >::sort_rows_idx ( sortmode  mode = ASCENDING) const
inherited

Sort by rows returns only indices.

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

Chop off leading singleton dimensions.

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

Generic any/all test functionality with arbitrary predicate.

Definition at line 702 of file Array.h.

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

Definition at line 714 of file Array.h.

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

Definition at line 726 of file Array.h.

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

Definition at line 729 of file Array.h.

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

Simpler calls.

Definition at line 710 of file Array.h.

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

Overloads for function references.

Definition at line 720 of file Array.h.

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

Definition at line 723 of file Array.h.

PermMatrix PermMatrix::transpose ( void  ) const
octave_idx_type & Array< octave_idx_type >::xelem ( octave_idx_type  n)
inlineinherited

Definition at line 353 of file Array.h.

Referenced by PermMatrix(), and transpose().

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

Definition at line 354 of file Array.h.

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

Definition at line 356 of file Array.h.

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

Definition at line 358 of file Array.h.

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

Definition at line 361 of file Array.h.

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

Definition at line 363 of file Array.h.

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

Definition at line 366 of file Array.h.

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

Definition at line 369 of file Array.h.

Member Data Documentation

dim_vector Array< octave_idx_type >::dimensions
protectedinherited

Definition at line 127 of file Array.h.

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

Definition at line 129 of file Array.h.

octave_idx_type * Array< octave_idx_type >::slice_data
protectedinherited

Definition at line 138 of file Array.h.

octave_idx_type Array< octave_idx_type >::slice_len
protectedinherited

Definition at line 139 of file Array.h.


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