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 Types | Public Member Functions | Static Public Member Functions | Protected Attributes | Friends | List of all members
NDArray Class Reference

#include "dNDArray.h"

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

Public Types

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

Public Member Functions

 NDArray (void)
 
 NDArray (const dim_vector &dv)
 
 NDArray (const dim_vector &dv, double val)
 
 NDArray (const NDArray &a)
 
 NDArray (const Array< octave_idx_type > &a, bool zero_based=false, bool negative_to_nan=false)
 
template<typename U >
 NDArray (const MArray< U > &a)
 
template<typename U >
 NDArray (const Array< U > &a)
 
template<typename U >
 NDArray (const intNDArray< U > &a)
 
 NDArray (const charNDArray &)
 
 NDArray (double *sdata, octave_idx_type slen, octave_idx_type *adims, void *arep)
 
NDArray abs (void) const
 
boolNDArray all (int dim=-1) const
 
bool all_elements_are_int_or_inf_or_nan (void) const
 
bool all_elements_are_zero (void) const
 
bool all_integers (double &max_val, double &min_val) const
 
bool all_integers (void) const
 
boolNDArray any (int dim=-1) const
 
bool any_element_is_inf_or_nan (void) const
 
bool any_element_is_nan (void) const
 
bool any_element_is_negative (bool=false) const
 
bool any_element_is_positive (bool=false) const
 
bool any_element_not_one_or_zero (void) const
 
Array< doubleas_column (void) const
 Return the array as a column vector. More...
 
Array< doubleas_matrix (void) const
 Return the array as a matrix. More...
 
Array< doubleas_row (void) const
 Return the array as a row vector. More...
 
size_t byte_size (void) const
 
NDArraychangesign (void)
 
doublecheckelem (octave_idx_type n)
 
doublecheckelem (octave_idx_type i, octave_idx_type j)
 
doublecheckelem (octave_idx_type i, octave_idx_type j, octave_idx_type k)
 
doublecheckelem (const Array< octave_idx_type > &ra_idx)
 
crefT checkelem (octave_idx_type n) const
 
crefT checkelem (octave_idx_type i, octave_idx_type j) const
 
crefT checkelem (octave_idx_type i, octave_idx_type j, octave_idx_type k) const
 
crefT checkelem (const Array< octave_idx_type > &ra_idx) const
 
void clear (void)
 
void clear (const dim_vector &dv)
 
void clear (octave_idx_type r, octave_idx_type c)
 
Array< doublecolumn (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
 
NDArray concat (const NDArray &rb, const Array< octave_idx_type > &ra_idx)
 
ComplexNDArray concat (const ComplexNDArray &rb, const Array< octave_idx_type > &ra_idx)
 
charNDArray concat (const charNDArray &rb, const Array< octave_idx_type > &ra_idx)
 
NDArray cummax (int dim=-1) const
 
NDArray cummax (Array< octave_idx_type > &index, int dim=-1) const
 
NDArray cummin (int dim=-1) const
 
NDArray cummin (Array< octave_idx_type > &index, int dim=-1) const
 
NDArray cumprod (int dim=-1) const
 
NDArray cumsum (int dim=-1) const
 
const doubledata (void) const
 
NDArray diag (octave_idx_type k=0) const
 
NDArray diag (octave_idx_type m, octave_idx_type n) const
 
NDArray diff (octave_idx_type order=1, int dim=-1) const
 
const dim_vectordims (void) const
 Return a const-reference so that dims ()(i) works efficiently. More...
 
doubleelem (octave_idx_type n)
 
doubleelem (octave_idx_type i, octave_idx_type j)
 
doubleelem (octave_idx_type i, octave_idx_type j, octave_idx_type k)
 
doubleelem (const Array< octave_idx_type > &ra_idx)
 
crefT elem (octave_idx_type n) const
 
crefT elem (octave_idx_type i, octave_idx_type j) const
 
crefT elem (octave_idx_type i, octave_idx_type j, octave_idx_type k) const
 
crefT elem (const Array< octave_idx_type > &ra_idx) const
 
void fill (const double &val)
 
Array< octave_idx_typefind (octave_idx_type n=-1, bool backward=false) const
 Find indices of (at most n) nonzero elements. More...
 
const doublefortran_vec (void) const
 
doublefortran_vec (void)
 
ComplexNDArray fourier (int dim=1) const
 
ComplexNDArray fourier2d (void) const
 
ComplexNDArray fourierNd (void) const
 
MArray< doublehermitian (double(*fcn)(const double &)=0) const
 
void idx_add_nd (const idx_vector &idx, const MArray< double > &vals, int dim=-1)
 
void idx_max (const idx_vector &idx, const MArray< double > &vals)
 
void idx_min (const idx_vector &idx, const MArray< double > &vals)
 
ComplexNDArray ifourier (int dim=1) const
 
ComplexNDArray ifourier2d (void) const
 
ComplexNDArray ifourierNd (void) const
 
NDArrayinsert (const NDArray &a, octave_idx_type r, octave_idx_type c)
 
NDArrayinsert (const NDArray &a, const Array< octave_idx_type > &ra_idx)
 
Array< double > & insert (const Array< double > &a, const Array< octave_idx_type > &idx)
 Insert an array into another at a specified position. More...
 
Array< double > & insert (const Array< double > &a, octave_idx_type r, octave_idx_type c)
 This is just a special case for idx = [r c 0 ...]. More...
 
MArray< doubleipermute (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
 
boolNDArray isfinite (void) const
 
boolNDArray isinf (void) const
 
boolNDArray isnan (void) const
 
Array< doublelinear_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 double &value, sortmode mode=UNSORTED) const
 Do a binary lookup in a sorted array. More...
 
Array< octave_idx_typelookup (const Array< double > &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...
 
NDArray max (int dim=-1) const
 
NDArray max (Array< octave_idx_type > &index, int dim=-1) const
 
void maybe_economize (void)
 
void * mex_get_data (void) const
 Give a pointer to the data in mex format. More...
 
NDArray min (int dim=-1) const
 
NDArray min (Array< octave_idx_type > &index, int dim=-1) const
 
int ndims (void) const
 
octave_idx_type nnz (void) const
 Count nonzero elements. More...
 
Array< doublenth_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...
 
boolNDArray operator! (void) const
 
doubleoperator() (octave_idx_type n)
 
doubleoperator() (octave_idx_type i, octave_idx_type j)
 
doubleoperator() (octave_idx_type i, octave_idx_type j, octave_idx_type k)
 
doubleoperator() (const Array< octave_idx_type > &ra_idx)
 
crefT operator() (octave_idx_type n) const
 
crefT operator() (octave_idx_type i, octave_idx_type j) const
 
crefT operator() (octave_idx_type i, octave_idx_type j, octave_idx_type k) const
 
crefT operator() (const Array< octave_idx_type > &ra_idx) const
 
NDArrayoperator= (const NDArray &a)
 
bool optimize_dimensions (const dim_vector &dv)
 Returns true if this->dims () == dv, and if so, replaces this->dimensions by a shallow copy of dv. More...
 
Array< doublepage (octave_idx_type k) const
 Extract page: A(:,:,k+1). More...
 
MArray< doublepermute (const Array< octave_idx_type > &vec, bool inv=false) const
 
void print_info (std::ostream &os, const std::string &prefix) const
 
NDArray prod (int dim=-1) const
 
MArray< doublereshape (const dim_vector &new_dims) const
 
Array< doublereshape (octave_idx_type nr, octave_idx_type nc) const
 
virtual double resize_fill_value (void) const
 
size_type size (const size_type d) const
 Size of the specified dimension. More...
 
Array< doublesort (int dim=0, sortmode mode=ASCENDING) const
 
Array< doublesort (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...
 
NDArray squeeze (void) const
 
NDArray sum (int dim=-1) const
 
NDArray sumsq (int dim=-1) const
 
bool test (F fcn) const
 Generic any/all test functionality with arbitrary predicate. More...
 
bool too_large_for_float (void) const
 
MArray< doubletranspose (void) const
 
doublexelem (octave_idx_type n)
 
crefT xelem (octave_idx_type n) const
 
doublexelem (octave_idx_type i, octave_idx_type j)
 
crefT xelem (octave_idx_type i, octave_idx_type j) const
 
doublexelem (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
 
doublexelem (const Array< octave_idx_type > &ra_idx)
 
crefT xelem (const Array< octave_idx_type > &ra_idx) const
 
NDArray xsum (int dim=-1) const
 
void idx_add (const idx_vector &idx, doubleval)
 Performs indexed accumulative addition. More...
 
void idx_add (const idx_vector &idx, const MArray< double > &vals)
 
octave_idx_type capacity (void) const
 Number of elements in the array. More...
 
octave_idx_type length (void) const
 Number of elements in the array. More...
 
octave_idx_type nelem (void) const
 Number of elements in the array. More...
 
octave_idx_type numel (void) const
 Number of elements in the array. More...
 
First dimension

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

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

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

octave_idx_type dim2 (void) const
 
octave_idx_type cols (void) const
 
octave_idx_type columns (void) const
 
Third dimension

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

octave_idx_type dim3 (void) const
 
octave_idx_type pages (void) const
 
Array< doubleindex (const idx_vector &i) const
 Indexing without resizing. More...
 
Array< doubleindex (const idx_vector &i, const idx_vector &j) const
 
Array< doubleindex (const Array< idx_vector > &ia) const
 
Array< doubleindex (const idx_vector &i, bool resize_ok, const double &rfv) const
 Indexing with possible resizing and fill. More...
 
Array< doubleindex (const idx_vector &i, bool resize_ok) const
 
Array< doubleindex (const idx_vector &i, const idx_vector &j, bool resize_ok, const double &rfv) const
 
Array< doubleindex (const idx_vector &i, const idx_vector &j, bool resize_ok) const
 
Array< doubleindex (const Array< idx_vector > &ia, bool resize_ok, const double &rfv) const
 
Array< doubleindex (const Array< idx_vector > &ia, bool resize_ok) const
 
void resize2 (octave_idx_type nr, octave_idx_type nc, const double &rfv)
 Resizing (with fill). More...
 
void resize2 (octave_idx_type nr, octave_idx_type nc)
 
void resize1 (octave_idx_type n, const double &rfv)
 
void resize1 (octave_idx_type n)
 
void resize (const dim_vector &dv, const double &rfv)
 
void resize (const dim_vector &dv)
 
void assign (const idx_vector &i, const Array< double > &rhs, const double &rfv)
 Indexed assignment (always with resize & fill). More...
 
void assign (const idx_vector &i, const Array< double > &rhs)
 
void assign (const idx_vector &i, const idx_vector &j, const Array< double > &rhs, const double &rfv)
 
void assign (const idx_vector &i, const idx_vector &j, const Array< double > &rhs)
 
void assign (const Array< idx_vector > &ia, const Array< double > &rhs, const double &rfv)
 
void assign (const Array< idx_vector > &ia, const Array< double > &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)(double)) const
 Overloads for function references. More...
 
Array< U > map (U(&fcn)(const double &)) const
 
bool test_any (F fcn) const
 Simpler calls. More...
 
bool test_all (F fcn) const
 
bool test_any (bool(&fcn)(double)) const
 Overloads for function references. More...
 
bool test_any (bool(&fcn)(const double &)) const
 
bool test_all (bool(&fcn)(double)) const
 
bool test_all (bool(&fcn)(const double &)) const
 
intjit_ref_count (void)
 WARNING: Only call these functions from jit. More...
 
doublejit_slice_data (void) const
 
octave_idx_typejit_dimensions (void) const
 
void * jit_array_rep (void) const
 

Static Public Member Functions

static Array< doublecat (int dim, octave_idx_type n, const Array< double > *array_list)
 Concatenation along a specified (0-based) dimension, equivalent to cat(). More...
 
static octave_idx_type compute_index (Array< octave_idx_type > &ra_idx, const dim_vector &dimensions)
 
static void increment_index (Array< octave_idx_type > &ra_idx, const dim_vector &dimensions, int start_dimension=0)
 

Protected Attributes

dim_vector dimensions
 
Array< double >::ArrayRep * rep
 
doubleslice_data
 
octave_idx_type slice_len
 

Friends

class ComplexNDArray
 
OCTAVE_API NDArray imag (const ComplexNDArray &a)
 
OCTAVE_API std::ostream & operator<< (std::ostream &os, const NDArray &a)
 
OCTAVE_API std::istream & operator>> (std::istream &is, NDArray &a)
 
OCTAVE_API NDArray real (const ComplexNDArray &a)
 

Detailed Description

Definition at line 36 of file dNDArray.h.

Member Typedef Documentation

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

Definition at line 209 of file Array.h.

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

Definition at line 207 of file Array.h.

typedef double Array< double >::element_type
inherited

Definition at line 199 of file Array.h.

typedef octave_idx_type Array< double >::size_type
inherited

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

Definition at line 205 of file Array.h.

typedef double Array< double >::value_type
inherited

Definition at line 201 of file Array.h.

Constructor & Destructor Documentation

NDArray::NDArray ( void  )
inline

Definition at line 42 of file dNDArray.h.

NDArray::NDArray ( const dim_vector dv)
inline

Definition at line 44 of file dNDArray.h.

NDArray::NDArray ( const dim_vector dv,
double  val 
)
inline

Definition at line 46 of file dNDArray.h.

NDArray::NDArray ( const NDArray a)
inline

Definition at line 49 of file dNDArray.h.

NDArray::NDArray ( const Array< octave_idx_type > &  a,
bool  zero_based = false,
bool  negative_to_nan = false 
)
template<typename U >
NDArray::NDArray ( const MArray< U > &  a)
inline

Definition at line 55 of file dNDArray.h.

template<typename U >
NDArray::NDArray ( const Array< U > &  a)
inline

Definition at line 58 of file dNDArray.h.

template<typename U >
NDArray::NDArray ( const intNDArray< U > &  a)
inlineexplicit

Definition at line 61 of file dNDArray.h.

NDArray::NDArray ( const charNDArray a)

Definition at line 89 of file dNDArray.cc.

References a, Array< T >::numel(), and Array< double >::xelem().

NDArray::NDArray ( double sdata,
octave_idx_type  slen,
octave_idx_type adims,
void *  arep 
)
inline

Definition at line 66 of file dNDArray.h.

Member Function Documentation

NDArray NDArray::abs ( void  ) const

Definition at line 807 of file dNDArray.cc.

Referenced by Matrix::abs().

boolNDArray NDArray::all ( int  dim = -1) const

Definition at line 632 of file dNDArray.cc.

References mx_inline_all().

Referenced by Matrix::all().

bool NDArray::all_elements_are_int_or_inf_or_nan ( void  ) const

Definition at line 579 of file dNDArray.cc.

References Array< double >::test_all(), and xis_int_or_inf_or_nan().

Referenced by set_format().

bool NDArray::all_elements_are_zero ( void  ) const

Definition at line 573 of file dNDArray.cc.

References Array< double >::test_all(), and xis_zero().

bool NDArray::all_integers ( double max_val,
double min_val 
) const
bool NDArray::all_integers ( void  ) const

Definition at line 618 of file dNDArray.cc.

References octave::math::isinteger(), and Array< double >::test_all().

boolNDArray NDArray::any ( int  dim = -1) const

Definition at line 638 of file dNDArray.cc.

References mx_inline_any().

Referenced by Matrix::any().

bool NDArray::any_element_is_inf_or_nan ( void  ) const

Definition at line 561 of file dNDArray.cc.

References mx_inline_all_finite().

Referenced by Fsvd(), EIG::init(), set_format(), and patch::properties::update_data().

bool NDArray::any_element_is_nan ( void  ) const
bool NDArray::any_element_is_negative ( bool  neg_zero = false) const
bool NDArray::any_element_is_positive ( bool  neg_zero = false) const
bool NDArray::any_element_not_one_or_zero ( void  ) const
Array<double > Array< double >::as_column ( void  ) const
inlineinherited

Return the array as a column vector.

Definition at line 367 of file Array.h.

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

Return the array as a matrix.

Definition at line 387 of file Array.h.

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

Return the array as a row vector.

Definition at line 377 of file Array.h.

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

Indexed assignment (always with resize & fill).

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

Definition at line 649 of file Array.h.

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

Definition at line 656 of file Array.h.

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

Definition at line 662 of file Array.h.

size_t Array< double >::byte_size ( void  ) const
inlineinherited

Definition at line 435 of file Array.h.

octave_idx_type Array< double >::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<double > Array< double >::cat ( int  dim,
octave_idx_type  n,
const Array< double > *  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.

NDArray& NDArray::changesign ( void  )
inline

Definition at line 161 of file dNDArray.h.

References MArray< T >::changesign().

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

Definition at line 332 of file Array.h.

octave_idx_type Array< double >::cols ( void  ) const
inlineinherited
Array<double > Array< double >::column ( octave_idx_type  k) const
inherited

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

octave_idx_type Array< double >::columns ( void  ) const
inlineinherited

Definition at line 410 of file Array.h.

Referenced by Matrix::inverse().

octave_idx_type NDArray::compute_index ( Array< octave_idx_type > &  ra_idx,
const dim_vector dimensions 
)
static

Definition at line 839 of file dNDArray.cc.

References compute_index().

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

Definition at line 449 of file Array.h.

NDArray NDArray::concat ( const NDArray rb,
const Array< octave_idx_type > &  ra_idx 
)

Definition at line 734 of file dNDArray.cc.

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

ComplexNDArray NDArray::concat ( const ComplexNDArray rb,
const Array< octave_idx_type > &  ra_idx 
)

Definition at line 742 of file dNDArray.cc.

References ComplexNDArray::insert(), Array< T >::numel(), and retval.

charNDArray NDArray::concat ( const charNDArray rb,
const Array< octave_idx_type > &  ra_idx 
)
NDArray NDArray::cummax ( int  dim = -1) const

Definition at line 704 of file dNDArray.cc.

References mx_inline_cummax().

NDArray NDArray::cummax ( Array< octave_idx_type > &  index,
int  dim = -1 
) const

Definition at line 710 of file dNDArray.cc.

References mx_inline_cummax().

NDArray NDArray::cummin ( int  dim = -1) const

Definition at line 716 of file dNDArray.cc.

References mx_inline_cummin().

NDArray NDArray::cummin ( Array< octave_idx_type > &  index,
int  dim = -1 
) const

Definition at line 722 of file dNDArray.cc.

References mx_inline_cummin().

NDArray NDArray::cumprod ( int  dim = -1) const

Definition at line 644 of file dNDArray.cc.

References mx_inline_cumprod().

Referenced by Matrix::cumprod().

NDArray NDArray::cumsum ( int  dim = -1) const

Definition at line 650 of file dNDArray.cc.

References mx_inline_cumsum().

Referenced by Matrix::cumsum().

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

Definition at line 582 of file Array.h.

Referenced by RowVector::operator==(), ColumnVector::operator==(), and Matrix::operator==().

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

Deleting elements.

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

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

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

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

Dispatcher to the above two.

NDArray NDArray::diag ( octave_idx_type  k = 0) const

Definition at line 846 of file dNDArray.cc.

References Array< T >::diag().

Referenced by Matrix::diag().

NDArray NDArray::diag ( octave_idx_type  m,
octave_idx_type  n 
) const

Definition at line 852 of file dNDArray.cc.

References Array< T >::diag().

NDArray NDArray::diff ( octave_idx_type  order = 1,
int  dim = -1 
) const

Definition at line 728 of file dNDArray.cc.

References mx_inline_diff().

octave_idx_type Array< double >::dim1 ( void  ) const
inlineinherited

Definition at line 400 of file Array.h.

octave_idx_type Array< double >::dim2 ( void  ) const
inlineinherited

Definition at line 408 of file Array.h.

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

Definition at line 417 of file Array.h.

const dim_vector& Array< double >::dims ( void  ) const
inlineinherited

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

Definition at line 439 of file Array.h.

Referenced by concat(), fourier(), fourier2d(), fourierNd(), ifourier(), ifourier2d(), and ifourierNd().

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

Definition at line 488 of file Array.h.

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

Definition at line 490 of file Array.h.

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

Definition at line 493 of file Array.h.

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

Definition at line 519 of file Array.h.

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

Definition at line 521 of file Array.h.

crefT Array< double >::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< double >::elem ( const Array< octave_idx_type > &  ra_idx) const
inlineinherited

Definition at line 527 of file Array.h.

void Array< double >::fill ( const double val)
inherited
Array<octave_idx_type> Array< double >::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 double * Array< double >::fortran_vec ( void  ) const
inlineinherited
double * Array< double >::fortran_vec ( void  )
inherited
ComplexNDArray NDArray::fourier ( int  dim = 1) const
ComplexNDArray NDArray::fourier2d ( void  ) const
ComplexNDArray NDArray::fourierNd ( void  ) const
MArray<double > MArray< double >::hermitian ( double (*)(const double &)  fcn = 0) const
inlineinherited

Definition at line 106 of file MArray.h.

void MArray< double >::idx_add ( const idx_vector idx,
double  val 
)
inherited

Performs indexed accumulative addition.

void MArray< double >::idx_add ( const idx_vector idx,
const MArray< double > &  vals 
)
inherited
void MArray< double >::idx_add_nd ( const idx_vector idx,
const MArray< double > &  vals,
int  dim = -1 
)
inherited
void MArray< double >::idx_max ( const idx_vector idx,
const MArray< double > &  vals 
)
inherited
void MArray< double >::idx_min ( const idx_vector idx,
const MArray< double > &  vals 
)
inherited
ComplexNDArray NDArray::ifourier ( int  dim = 1) const
ComplexNDArray NDArray::ifourier2d ( void  ) const
ComplexNDArray NDArray::ifourierNd ( void  ) const
void NDArray::increment_index ( Array< octave_idx_type > &  ra_idx,
const dim_vector dimensions,
int  start_dimension = 0 
)
static

Definition at line 831 of file dNDArray.cc.

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

Indexing without resizing.

Referenced by Matrix::column(), Matrix::extract(), Matrix::extract_n(), and Matrix::row().

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

Indexing with possible resizing and fill.

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

Definition at line 625 of file Array.h.

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

Definition at line 632 of file Array.h.

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

Definition at line 640 of file Array.h.

NDArray & NDArray::insert ( const NDArray a,
octave_idx_type  r,
octave_idx_type  c 
)

Definition at line 793 of file dNDArray.cc.

References Array< T >::insert().

Referenced by concat().

NDArray & NDArray::insert ( const NDArray a,
const Array< octave_idx_type > &  ra_idx 
)

Definition at line 800 of file dNDArray.cc.

References Array< T >::insert().

Array<double >& Array< double >::insert ( const Array< double > &  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<double >& Array< double >::insert ( const Array< double > &  a,
octave_idx_type  r,
octave_idx_type  c 
)
inherited

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

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

Definition at line 98 of file MArray.h.

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

Definition at line 575 of file Array.h.

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

Definition at line 588 of file Array.h.

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

Ordering is auto-detected or can be specified.

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

References ASCENDING, Array< T >::data(), DESCENDING, octave::math::isnan(), mode, Array< T >::numel(), and UNSORTED.

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

Ordering is auto-detected or can be specified.

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

Definition at line 573 of file Array.h.

Referenced by Matrix::is_symmetric().

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

Definition at line 577 of file Array.h.

boolNDArray NDArray::isfinite ( void  ) const

Definition at line 825 of file dNDArray.cc.

boolNDArray NDArray::isinf ( void  ) const

Definition at line 819 of file dNDArray.cc.

boolNDArray NDArray::isnan ( void  ) const

Definition at line 813 of file dNDArray.cc.

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

Definition at line 850 of file Array.h.

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

Definition at line 848 of file Array.h.

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

WARNING: Only call these functions from jit.

Definition at line 844 of file Array.h.

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

Definition at line 846 of file Array.h.

octave_idx_type Array< double >::length ( void  ) const
inlineinherited

Number of elements in the array.

Synonymous with numel().

Note
This method is deprecated in favour of numel().
This is not the same as length() at the Octave interpreter. At the Octave interpreter, the function length() returns the length of the greatest dimension. This method returns the total number of elements.

Definition at line 354 of file Array.h.

Array<double > Array< double >::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< double >::lookup ( const double 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< double >::lookup ( const Array< double > &  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< double >::make_unique ( void  )
inlineinherited
Array<U> Array< double >::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< double >::map ( U(&)(double fcn) const
inlineinherited

Overloads for function references.

Definition at line 792 of file Array.h.

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

Definition at line 797 of file Array.h.

NDArray NDArray::max ( int  dim = -1) const

Definition at line 680 of file dNDArray.cc.

References mx_inline_max().

NDArray NDArray::max ( Array< octave_idx_type > &  index,
int  dim = -1 
) const

Definition at line 686 of file dNDArray.cc.

References mx_inline_max().

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

Definition at line 690 of file Array.h.

void* Array< double >::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.

NDArray NDArray::min ( int  dim = -1) const

Definition at line 692 of file dNDArray.cc.

References mx_inline_min().

NDArray NDArray::min ( Array< octave_idx_type > &  index,
int  dim = -1 
) const

Definition at line 698 of file dNDArray.cc.

References mx_inline_min().

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

Definition at line 590 of file Array.h.

octave_idx_type Array< double >::nelem ( void  ) const
inlineinherited

Number of elements in the array.

Synonymous with numel().

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

Definition at line 360 of file Array.h.

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

Count nonzero elements.

Array<double > Array< double >::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 Array< double >::numel ( void  ) const
inlineinherited
boolNDArray NDArray::operator! ( void  ) const
double & Array< double >::operator() ( octave_idx_type  n)
inlineinherited

Definition at line 505 of file Array.h.

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

Definition at line 506 of file Array.h.

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

Definition at line 507 of file Array.h.

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

Definition at line 509 of file Array.h.

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

Definition at line 540 of file Array.h.

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

Definition at line 541 of file Array.h.

crefT Array< double >::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< double >::operator() ( const Array< octave_idx_type > &  ra_idx) const
inlineinherited

Definition at line 546 of file Array.h.

NDArray& NDArray::operator= ( const NDArray a)
inline

Definition at line 70 of file dNDArray.h.

References MArray< T >::operator=().

bool Array< double >::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<double > Array< double >::page ( octave_idx_type  k) const
inherited

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

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

Definition at line 418 of file Array.h.

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

Definition at line 94 of file MArray.h.

void Array< double >::print_info ( std::ostream &  os,
const std::string prefix 
) const
inherited
NDArray NDArray::prod ( int  dim = -1) const

Definition at line 656 of file dNDArray.cc.

References mx_inline_prod().

Referenced by Matrix::prod().

MArray<double > MArray< double >::reshape ( const dim_vector new_dims) const
inlineinherited

Definition at line 91 of file MArray.h.

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

Definition at line 563 of file Array.h.

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

Referenced by NDArray().

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

Definition at line 615 of file Array.h.

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

Definition at line 612 of file Array.h.

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

Resizing (with fill).

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

Definition at line 606 of file Array.h.

virtual double Array< double >::resize_fill_value ( void  ) const
virtualinherited
octave_idx_type Array< double >::rows ( void  ) const
inlineinherited
size_type Array< double >::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<double > Array< double >::sort ( int  dim = 0,
sortmode  mode = ASCENDING 
) const
inherited
Array<double > Array< double >::sort ( Array< octave_idx_type > &  sidx,
int  dim = 0,
sortmode  mode = ASCENDING 
) const
inherited
Array<octave_idx_type> Array< double >::sort_rows_idx ( sortmode  mode = ASCENDING) const
inherited

Sort by rows returns only indices.

NDArray NDArray::squeeze ( void  ) const
inline

Definition at line 142 of file dNDArray.h.

References MArray< T >::squeeze().

Referenced by octave_matrix::squeeze().

NDArray NDArray::sum ( int  dim = -1) const

Definition at line 662 of file dNDArray.cc.

References mx_inline_sum().

Referenced by Matrix::sum().

NDArray NDArray::sumsq ( int  dim = -1) const

Definition at line 674 of file dNDArray.cc.

References mx_inline_sumsq().

Referenced by Matrix::sumsq().

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

Generic any/all test functionality with arbitrary predicate.

Definition at line 803 of file Array.h.

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

Definition at line 827 of file Array.h.

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

Definition at line 830 of file Array.h.

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

Simpler calls.

Definition at line 811 of file Array.h.

Referenced by too_large_for_float().

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

Overloads for function references.

Definition at line 821 of file Array.h.

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

Definition at line 824 of file Array.h.

bool NDArray::too_large_for_float ( void  ) const
MArray<double > MArray< double >::transpose ( void  ) const
inlineinherited

Definition at line 103 of file MArray.h.

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

Definition at line 456 of file Array.h.

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

Definition at line 458 of file Array.h.

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

Definition at line 460 of file Array.h.

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

Definition at line 463 of file Array.h.

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

Definition at line 465 of file Array.h.

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

Definition at line 468 of file Array.h.

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

Definition at line 471 of file Array.h.

NDArray NDArray::xsum ( int  dim = -1) const

Definition at line 668 of file dNDArray.cc.

References mx_inline_xsum().

Friends And Related Function Documentation

friend class ComplexNDArray
friend

Definition at line 140 of file dNDArray.h.

OCTAVE_API NDArray imag ( const ComplexNDArray a)
friend

Definition at line 787 of file dNDArray.cc.

OCTAVE_API std::ostream& operator<< ( std::ostream &  os,
const NDArray a 
)
friend

Definition at line 859 of file dNDArray.cc.

OCTAVE_API std::istream& operator>> ( std::istream &  is,
NDArray a 
)
friend

Definition at line 873 of file dNDArray.cc.

OCTAVE_API NDArray real ( const ComplexNDArray a)
friend

Definition at line 781 of file dNDArray.cc.

Member Data Documentation

dim_vector Array< double >::dimensions
protectedinherited

Definition at line 214 of file Array.h.

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

Definition at line 216 of file Array.h.

double * Array< double >::slice_data
protectedinherited

Definition at line 225 of file Array.h.

octave_idx_type Array< double >::slice_len
protectedinherited

Definition at line 226 of file Array.h.


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