GNU Octave
4.0.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
|
#include "dRowVector.h"
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 |
Public Member Functions | |
RowVector (void) | |
RowVector (octave_idx_type n) | |
RowVector (const dim_vector &dv) | |
RowVector (octave_idx_type n, double val) | |
RowVector (const RowVector &a) | |
RowVector (const MArray< double > &a) | |
RowVector (const Array< double > &a) | |
RowVector | append (const RowVector &a) const |
Array< double > | as_column (void) const |
Return the array as a column vector. More... | |
Array< double > | as_matrix (void) const |
Return the array as a matrix. More... | |
Array< double > | as_row (void) const |
Return the array as a row vector. More... | |
size_t | byte_size (void) const |
void | changesign (void) |
double & | checkelem (octave_idx_type n) |
double & | checkelem (octave_idx_type i, octave_idx_type j) |
double & | checkelem (octave_idx_type i, octave_idx_type j, octave_idx_type k) |
double & | checkelem (const Array< octave_idx_type > &ra_idx) |
crefT | checkelem (octave_idx_type n) const |
crefT | checkelem (octave_idx_type i, octave_idx_type j) const |
crefT | checkelem (octave_idx_type i, octave_idx_type j, octave_idx_type k) const |
crefT | checkelem (const Array< octave_idx_type > &ra_idx) const |
void | clear (octave_idx_type n) |
void | clear (void) |
void | clear (const dim_vector &dv) |
void | clear (octave_idx_type r, octave_idx_type c) |
Array< double > | column (octave_idx_type k) const |
Extract column: A(:,k+1). More... | |
octave_idx_type | compute_index (octave_idx_type i, octave_idx_type j) const |
octave_idx_type | compute_index (octave_idx_type i, octave_idx_type j, octave_idx_type k) const |
octave_idx_type | compute_index (const Array< octave_idx_type > &ra_idx) const |
octave_idx_type | compute_index_unchecked (const Array< octave_idx_type > &ra_idx) const |
const double * | data (void) const |
Array< double > | diag (octave_idx_type k=0) const |
Get the kth super or subdiagonal. More... | |
Array< double > | diag (octave_idx_type m, octave_idx_type n) const |
const dim_vector & | dims (void) const |
Return a const-reference so that dims ()(i) works efficiently. More... | |
double & | elem (octave_idx_type n) |
double & | elem (octave_idx_type i, octave_idx_type j) |
double & | elem (octave_idx_type i, octave_idx_type j, octave_idx_type k) |
double & | elem (const Array< octave_idx_type > &ra_idx) |
crefT | elem (octave_idx_type n) const |
crefT | elem (octave_idx_type i, octave_idx_type j) const |
crefT | elem (octave_idx_type i, octave_idx_type j, octave_idx_type k) const |
crefT | elem (const Array< octave_idx_type > &ra_idx) const |
RowVector | extract (octave_idx_type c1, octave_idx_type c2) const |
RowVector | extract_n (octave_idx_type c1, octave_idx_type n) const |
RowVector & | fill (double val) |
RowVector & | fill (double val, octave_idx_type c1, octave_idx_type c2) |
void | fill (const double &val) |
Array< octave_idx_type > | find (octave_idx_type n=-1, bool backward=false) const |
Find indices of (at most n) nonzero elements. More... | |
const double * | fortran_vec (void) const |
double * | fortran_vec (void) |
MArray< double > | hermitian (double(*fcn)(const double &)=0) const |
void | idx_add (const idx_vector &idx, doubleval) |
void | idx_add (const idx_vector &idx, const MArray< double > &vals) |
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) |
RowVector & | insert (const RowVector &a, octave_idx_type c) |
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< double > | ipermute (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< double > | linear_slice (octave_idx_type lo, octave_idx_type up) const |
Extract a slice from this array as a column vector: A(:)(lo+1:up). More... | |
octave_idx_type | lookup (const double &value, sortmode mode=UNSORTED) const |
Do a binary lookup in a sorted array. More... | |
Array< octave_idx_type > | lookup (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... | |
double | max (void) const |
void | maybe_economize (void) |
void * | mex_get_data (void) const |
Give a pointer to the data in mex format. More... | |
double | min (void) const |
int | ndims (void) const |
octave_idx_type | nnz (void) const |
Count nonzero elements. More... | |
Array< double > | nth_element (const idx_vector &n, int dim=0) const |
Returns the n-th element in increasing order, using the same ordering as used for sort. More... | |
bool | operator!= (const RowVector &a) const |
double & | operator() (octave_idx_type n) |
double & | operator() (octave_idx_type i, octave_idx_type j) |
double & | operator() (octave_idx_type i, octave_idx_type j, octave_idx_type k) |
double & | operator() (const Array< octave_idx_type > &ra_idx) |
crefT | operator() (octave_idx_type n) const |
crefT | operator() (octave_idx_type i, octave_idx_type j) const |
crefT | operator() (octave_idx_type i, octave_idx_type j, octave_idx_type k) const |
crefT | operator() (const Array< octave_idx_type > &ra_idx) const |
RowVector & | operator= (const RowVector &a) |
bool | operator== (const RowVector &a) 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< double > | page (octave_idx_type k) const |
Extract page: A(:,:,k+1). More... | |
MArray< double > | permute (const Array< octave_idx_type > &vec, bool inv=false) const |
void | print_info (std::ostream &os, const std::string &prefix) const |
MArray< double > | reshape (const dim_vector &new_dims) const |
Array< double > | reshape (octave_idx_type nr, octave_idx_type nc) const |
void | resize (octave_idx_type n, const double &rfv=0) |
virtual double | resize_fill_value (void) const |
Array< double > | sort (int dim=0, sortmode mode=ASCENDING) const |
Array< double > | sort (Array< octave_idx_type > &sidx, int dim=0, sortmode mode=ASCENDING) const |
Array< octave_idx_type > | sort_rows_idx (sortmode mode=ASCENDING) const |
Sort by rows returns only indices. More... | |
MArray | squeeze (void) const |
bool | test (F fcn) const |
Generic any/all test functionality with arbitrary predicate. More... | |
ColumnVector | transpose (void) const |
double & | xelem (octave_idx_type n) |
crefT | xelem (octave_idx_type n) const |
double & | xelem (octave_idx_type i, octave_idx_type j) |
crefT | xelem (octave_idx_type i, octave_idx_type j) const |
double & | xelem (octave_idx_type i, octave_idx_type j, octave_idx_type k) |
crefT | xelem (octave_idx_type i, octave_idx_type j, octave_idx_type k) const |
double & | xelem (const Array< octave_idx_type > &ra_idx) |
crefT | xelem (const Array< octave_idx_type > &ra_idx) const |
octave_idx_type | capacity (void) const |
Number of elements in the array. More... | |
octave_idx_type | length (void) const |
Number of elements in the array. More... | |
octave_idx_type | nelem (void) const |
Number of elements in the array. More... | |
octave_idx_type | numel (void) const |
Number of elements in the array. More... | |
First dimension | |
Get the first dimension of the array (number of rows) | |
octave_idx_type | dim1 (void) const |
octave_idx_type | rows (void) const |
Second dimension | |
Get the second dimension of the array (number of columns) | |
octave_idx_type | dim2 (void) const |
octave_idx_type | cols (void) const |
octave_idx_type | columns (void) const |
Third dimension | |
Get the third dimension of the array (number of pages) | |
octave_idx_type | dim3 (void) const |
octave_idx_type | pages (void) const |
Array< double > | index (const idx_vector &i) const |
Indexing without resizing. More... | |
Array< double > | index (const idx_vector &i, const idx_vector &j) const |
Array< double > | index (const Array< idx_vector > &ia) const |
Array< double > | index (const idx_vector &i, bool resize_ok, const double &rfv) const |
Indexing with possible resizing and fill. More... | |
Array< double > | index (const idx_vector &i, bool resize_ok) const |
Array< double > | index (const idx_vector &i, const idx_vector &j, bool resize_ok, const double &rfv) const |
Array< double > | index (const idx_vector &i, const idx_vector &j, bool resize_ok) const |
Array< double > | index (const Array< idx_vector > &ia, bool resize_ok, const double &rfv) const |
Array< double > | index (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 |
int * | jit_ref_count (void) |
WARNING: Only call these functions from jit. More... | |
double * | jit_slice_data (void) const |
octave_idx_type * | jit_dimensions (void) const |
void * | jit_array_rep (void) const |
Static Public Member Functions | |
static Array< double > | cat (int dim, octave_idx_type n, const Array< double > *array_list) |
Concatenation along a specified (0-based) dimension, equivalent to cat(). More... | |
Protected Attributes | |
dim_vector | dimensions |
Array< double >::ArrayRep * | rep |
double * | slice_data |
octave_idx_type | slice_len |
Friends | |
OCTAVE_API RowVector | imag (const ComplexRowVector &a) |
OCTAVE_API RowVector | operator* (const RowVector &a, const Matrix &b) |
OCTAVE_API std::ostream & | operator<< (std::ostream &os, const RowVector &a) |
OCTAVE_API std::istream & | operator>> (std::istream &is, RowVector &a) |
OCTAVE_API RowVector | real (const ComplexRowVector &a) |
Definition at line 30 of file dRowVector.h.
|
inline |
Definition at line 36 of file dRowVector.h.
|
inlineexplicit |
Definition at line 38 of file dRowVector.h.
|
inlineexplicit |
Definition at line 41 of file dRowVector.h.
|
inline |
Definition at line 43 of file dRowVector.h.
|
inline |
Definition at line 46 of file dRowVector.h.
Definition at line 48 of file dRowVector.h.
Definition at line 50 of file dRowVector.h.
Definition at line 136 of file dRowVector.cc.
References insert(), Array< double >::length(), and Array< T >::length().
|
inherited |
Indexed assignment (always with resize & fill).
|
inlineinherited |
|
inherited |
|
inlineinherited |
|
inherited |
|
inlineinherited |
|
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.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inline |
Definition at line 101 of file dRowVector.h.
References Array< T >::clear().
|
inherited |
|
inlineinherited |
|
inlineinherited |
Definition at line 321 of file Array.h.
Referenced by Matrix::append(), Matrix::column_max(), Matrix::column_min(), Matrix::determinant(), Matrix::diag(), Matrix::fill(), Matrix::finverse(), Matrix::fourier(), Matrix::fourier2d(), Matrix::fsolve(), Matrix::ifourier(), Matrix::ifourier2d(), Matrix::insert(), Matrix::is_symmetric(), Matrix::lssolve(), Matrix::ltsolve(), Matrix::operator+=(), Matrix::operator-=(), Matrix::operator==(), Matrix::pseudo_inverse(), Matrix::rcond(), Matrix::row_max(), Matrix::row_min(), Matrix::stack(), Matrix::tinverse(), and Matrix::utsolve().
|
inherited |
Extract column: A(:,k+1).
|
inlineinherited |
Definition at line 322 of file Array.h.
Referenced by Matrix::inverse().
|
inherited |
|
inherited |
|
inherited |
|
inlineinherited |
Definition at line 479 of file Array.h.
Referenced by operator==(), ColumnVector::operator==(), and Matrix::operator==().
|
inherited |
Deleting elements.
A(I) = [] (with a single subscript)
|
inherited |
A(:,...,I,...,:) = [] (>= 2 subscripts, one of them is non-colon)
|
inherited |
Dispatcher to the above two.
|
inherited |
Get the kth super or subdiagonal.
The zeroth diagonal is the ordinary diagonal.
|
inherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Return a const-reference so that dims ()(i) works efficiently.
Definition at line 337 of file Array.h.
Referenced by NDArray::concat(), NDArray::fourier(), NDArray::fourier2d(), NDArray::fourierNd(), NDArray::ifourier(), NDArray::ifourier2d(), and NDArray::ifourierNd().
|
inlineinherited |
Definition at line 380 of file Array.h.
Referenced by NDArray::all_integers(), Matrix::column_max(), Matrix::column_min(), NDArray::concat(), Matrix::determinant(), extract(), ColumnVector::extract(), extract_n(), ColumnVector::extract_n(), Matrix::is_symmetric(), Matrix::Matrix(), max(), ColumnVector::max(), min(), ColumnVector::min(), Matrix::operator+=(), Matrix::operator-=(), Matrix::row_max(), and Matrix::row_min().
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
RowVector RowVector::extract | ( | octave_idx_type | c1, |
octave_idx_type | c2 | ||
) | const |
Definition at line 165 of file dRowVector.cc.
References Array< double >::elem(), and Array< T >::xelem().
RowVector RowVector::extract_n | ( | octave_idx_type | c1, |
octave_idx_type | n | ||
) | const |
Definition at line 180 of file dRowVector.cc.
References Array< double >::elem(), and Array< T >::xelem().
Definition at line 96 of file dRowVector.cc.
References Array< double >::length(), Array< double >::make_unique(), and Array< double >::xelem().
RowVector & RowVector::fill | ( | double | val, |
octave_idx_type | c1, | ||
octave_idx_type | c2 | ||
) |
Definition at line 112 of file dRowVector.cc.
References Array< double >::length(), Array< double >::make_unique(), and Array< double >::xelem().
|
inherited |
Find indices of (at most n) nonzero elements.
If n is specified, backward specifies search from backward.
Definition at line 481 of file Array.h.
Referenced by NDArray::fourier(), Matrix::fourier(), NDArray::fourier2d(), Matrix::fourier2d(), NDArray::fourierNd(), Matrix::ltsolve(), NDArray::NDArray(), Matrix::rcond(), and Matrix::utsolve().
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
Indexing without resizing.
Referenced by Matrix::column(), Matrix::extract(), Matrix::extract_n(), and Matrix::row().
|
inherited |
|
inherited |
Indexing with possible resizing and fill.
|
inherited |
|
inlineinherited |
|
inherited |
RowVector & RowVector::insert | ( | const RowVector & | a, |
octave_idx_type | c | ||
) |
Definition at line 74 of file dRowVector.cc.
References Array< T >::elem(), Array< double >::length(), Array< T >::length(), Array< double >::make_unique(), and Array< double >::xelem().
Referenced by append().
|
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.
|
inherited |
This is just a special case for idx = [r c 0 ...].
Ordering is auto-detected or can be specified.
Definition at line 92 of file Array-d.cc.
References ASCENDING, DESCENDING, UNSORTED, and xisnan().
Ordering is auto-detected or can be specified.
Definition at line 470 of file Array.h.
Referenced by Matrix::is_symmetric().
|
inlineinherited |
|
inlineinherited |
Number of elements in the array.
Synonymous with capacity(), nelem(), and numel().
length
() at the Octave interpreter. At the Octave interpreter, the function length
() returns the length of the greatest dimension. This method returns the total number of elements. Definition at line 267 of file Array.h.
Referenced by append(), fill(), ColumnVector::fill(), insert(), ColumnVector::insert(), max(), ColumnVector::max(), min(), ColumnVector::min(), operator==(), ColumnVector::operator==(), Matrix::operator==(), and ColumnVector::stack().
|
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.
|
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.
|
inherited |
Ditto, but for an array of values, specializing on the case when values are sorted.
NaNs get the value N.
Definition at line 104 of file Array.h.
Referenced by fill(), ColumnVector::fill(), Matrix::fill(), insert(), ColumnVector::insert(), and Matrix::insert().
double RowVector::max | ( | void | ) | const |
Definition at line 246 of file dRowVector.cc.
References Array< double >::elem(), and Array< double >::length().
Referenced by SparseMatrix::bsolve(), SparseComplexMatrix::bsolve(), Matrix::finverse(), ComplexMatrix::finverse(), Matrix::fsolve(), ComplexMatrix::fsolve(), matrix_norm(), and Matrix::rcond().
double RowVector::min | ( | void | ) | const |
Definition at line 230 of file dRowVector.cc.
References Array< double >::elem(), and Array< double >::length().
|
inlineinherited |
Number of elements in the array.
Synonymous with capacity(), length(), and numel().
Definition at line 271 of file Array.h.
Referenced by NDArray::all_integers().
|
inherited |
Count nonzero elements.
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.
|
inlineinherited |
Number of elements in the array.
Synonymous with capacity(), length(), and nelem().
Definition at line 275 of file Array.h.
Referenced by NDArray::concat(), NDArray::fourier(), NDArray::fourier2d(), NDArray::ifourier(), and NDArray::ifourier2d().
bool RowVector::operator!= | ( | const RowVector & | a | ) | const |
Definition at line 68 of file dRowVector.cc.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Definition at line 52 of file dRowVector.h.
References MArray< T >::operator=().
F77_RET_T const double const octave_idx_type const double const octave_idx_type double &bool RowVector::operator== | ( | const RowVector & | a | ) | const |
Definition at line 59 of file dRowVector.cc.
References Array< double >::data(), Array< T >::data(), Array< T >::length(), Array< double >::length(), and mx_inline_equal().
|
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).
|
inherited |
Extract page: A(:,:,k+1).
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inline |
Definition at line 96 of file dRowVector.h.
References Array< T >::resize().
Referenced by Matrix::column_max(), Matrix::column_min(), and operator*().
|
inherited |
Referenced by NDArray::NDArray().
|
inlineinherited |
|
inherited |
|
inlineinherited |
|
inherited |
Resizing (with fill).
|
inlineinherited |
|
inlineinherited |
Definition at line 313 of file Array.h.
Referenced by Matrix::append(), Matrix::column_max(), Matrix::column_min(), Matrix::determinant(), Matrix::diag(), Matrix::fill(), Matrix::finverse(), Matrix::fourier(), Matrix::fourier2d(), Matrix::fsolve(), Matrix::ifourier(), Matrix::ifourier2d(), Matrix::insert(), Matrix::inverse(), Matrix::is_symmetric(), Matrix::lssolve(), Matrix::ltsolve(), Matrix::operator+=(), Matrix::operator-=(), Matrix::operator==(), Matrix::pseudo_inverse(), Matrix::rcond(), Matrix::row_max(), Matrix::row_min(), Matrix::stack(), Matrix::tinverse(), and Matrix::utsolve().
Referenced by SCHUR::init().
|
inherited |
Sort by rows returns only indices.
Definition at line 714 of file Array.h.
Referenced by NDArray::all_elements_are_int_or_inf_or_nan(), NDArray::all_elements_are_zero(), NDArray::all_integers(), NDArray::any_element_is_negative(), NDArray::any_element_is_positive(), and NDArray::any_element_not_one_or_zero().
Simpler calls.
Definition at line 710 of file Array.h.
Referenced by NDArray::too_large_for_float().
ColumnVector RowVector::transpose | ( | void | ) | const |
Definition at line 147 of file dRowVector.cc.
References MArray< T >::transpose().
|
inlineinherited |
Definition at line 353 of file Array.h.
Referenced by fill(), ColumnVector::fill(), Matrix::fill(), insert(), ColumnVector::insert(), Matrix::insert(), and NDArray::NDArray().
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
friend |
Definition at line 159 of file dRowVector.cc.
Definition at line 193 of file dRowVector.cc.
|
friend |
Definition at line 262 of file dRowVector.cc.
|
friend |
Definition at line 272 of file dRowVector.cc.
|
friend |
Definition at line 153 of file dRowVector.cc.
|
protectedinherited |
|
protectedinherited |