GNU Octave  4.2.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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)
 
 PermMatrix (const Array< octave_idx_type > &p, bool colp, bool check=true)
 
 PermMatrix (const PermMatrix &m)
 
 PermMatrix (const idx_vector &idx)
 
 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
 
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...
 
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
 
size_type size (const size_type d) const
 Size of the specified dimension. More...
 
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 34 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 209 of file Array.h.

Definition at line 207 of file Array.h.

Definition at line 199 of file Array.h.

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

Definition at line 205 of file Array.h.

Definition at line 201 of file Array.h.

Constructor & Destructor Documentation

PermMatrix::PermMatrix ( void  )
inline

Definition at line 38 of file PermMatrix.h.

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

PermMatrix::PermMatrix ( octave_idx_type  n)

Definition at line 92 of file PermMatrix.cc.

References Array< octave_idx_type >::xelem().

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

Definition at line 52 of file PermMatrix.cc.

References setup().

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

Definition at line 58 of file PermMatrix.cc.

References setup().

PermMatrix::PermMatrix ( const PermMatrix m)
inline

Definition at line 47 of file PermMatrix.h.

PermMatrix::PermMatrix ( const idx_vector idx)

Definition at line 80 of file PermMatrix.cc.

References setup().

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

Definition at line 86 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 367 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 387 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 377 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 649 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 656 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 662 of file Array.h.

size_t PermMatrix::byte_size ( void  ) const
inline

Definition at line 74 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 numel().

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

Definition at line 341 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 100 of file PermMatrix.cc.

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

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 332 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 61 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 449 of file Array.h.

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

Definition at line 582 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 129 of file PermMatrix.cc.

References Array< octave_idx_type >::data(), k, OCTAVE_LOCAL_BUFFER, p, 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 54 of file PermMatrix.h.

References Array< T >::numel().

octave_idx_type PermMatrix::dim2 ( void  ) const
inline

Definition at line 56 of file PermMatrix.h.

References Array< T >::numel().

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

Definition at line 417 of file Array.h.

dim_vector PermMatrix::dims ( void  ) const
inline

Definition at line 77 of file PermMatrix.h.

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

Definition at line 83 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 482 of file Array.h.

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

Definition at line 488 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 490 of file Array.h.

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

Definition at line 493 of file Array.h.

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

Definition at line 519 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 524 of file Array.h.

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

Definition at line 527 of file Array.h.

PermMatrix PermMatrix::eye ( octave_idx_type  n)
static

Definition at line 214 of file PermMatrix.cc.

References PermMatrix().

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 584 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 625 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 632 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 640 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 570 of file Array.h.

bool PermMatrix::is_col_perm ( void  ) const
inline

Definition at line 111 of file PermMatrix.h.

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

Definition at line 575 of file Array.h.

bool PermMatrix::is_row_perm ( void  ) const
inline

Definition at line 112 of file PermMatrix.h.

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

Definition at line 588 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 573 of file Array.h.

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

Definition at line 577 of file Array.h.

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

Definition at line 850 of file Array.h.

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

Definition at line 848 of file Array.h.

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

WARNING: Only call these functions from jit.

Definition at line 844 of file Array.h.

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

Definition at line 846 of file Array.h.

octave_idx_type PermMatrix::length ( void  ) const
inline

Definition at line 66 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 185 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 optimized with a manually unrolled loop.

Definition at line 760 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 792 of file Array.h.

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

Definition at line 797 of file Array.h.

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

Definition at line 690 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 706 of file Array.h.

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

Definition at line 590 of file Array.h.

octave_idx_type PermMatrix::nelem ( void  ) const
inline

Definition at line 70 of file PermMatrix.h.

References Array< T >::numel().

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
octave_idx_type PermMatrix::operator() ( octave_idx_type  i,
octave_idx_type  j 
) const
inline

Definition at line 92 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 505 of file Array.h.

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

Definition at line 506 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 507 of file Array.h.

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

Definition at line 509 of file Array.h.

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

Definition at line 540 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 543 of file Array.h.

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

Definition at line 546 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 418 of file Array.h.

octave_idx_type PermMatrix::perm_length ( void  ) const
inline

Definition at line 63 of file PermMatrix.h.

References Array< T >::numel().

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 175 of file PermMatrix.cc.

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

Referenced by power().

PermMatrix PermMatrix::power ( octave_idx_type  n) const

Definition at line 164 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 114 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 563 of file Array.h.

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

Definition at line 566 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 615 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 612 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 606 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

Definition at line 40 of file PermMatrix.cc.

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

Referenced by PermMatrix().

void PermMatrix::setup ( const idx_vector idx,
bool  colp,
octave_idx_type  n 
)
private
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 428 of file Array.h.

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

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

Definition at line 815 of file Array.h.

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

Definition at line 827 of file Array.h.

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

Definition at line 830 of file Array.h.

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

Simpler calls.

Definition at line 811 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 821 of file Array.h.

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

Definition at line 824 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 455 of file Array.h.

Referenced by PermMatrix(), and transpose().

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

Definition at line 456 of file Array.h.

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

Definition at line 458 of file Array.h.

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

Definition at line 460 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 463 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 465 of file Array.h.

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

Definition at line 468 of file Array.h.

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

Definition at line 471 of file Array.h.

Member Data Documentation

dim_vector Array< octave_idx_type >::dimensions
protectedinherited

Definition at line 214 of file Array.h.

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

Definition at line 216 of file Array.h.

octave_idx_type * Array< octave_idx_type >::slice_data
protectedinherited

Definition at line 225 of file Array.h.

octave_idx_type Array< octave_idx_type >::slice_len
protectedinherited

Definition at line 226 of file Array.h.


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