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

#include "chNDArray.h"

Inheritance diagram for charNDArray:
Array< char > charMatrix

Public Types

typedef charMatrix matrix_type
 
- Public Types inherited from Array< char >
typedef bool(* compare_fcn_type) (typename ref_param< char >::type, typename ref_param< char >::type)
 
typedef ref_param< char >::type crefT
 
typedef char element_type
 
typedef octave_idx_type size_type
 Used for operator(), and returned by numel() and size() (beware: signed integer) More...
 
typedef char value_type
 

Public Member Functions

 charNDArray ()
 
 charNDArray (char c)
 
 charNDArray (const Array< char > &a)
 
 charNDArray (const char *s)
 
 charNDArray (const charNDArray &a)
 
 charNDArray (const dim_vector &dv)
 
 charNDArray (const dim_vector &dv, char val)
 
 charNDArray (const std::string &s)
 
 charNDArray (const string_vector &s, char fill_value='\0')
 
 ~charNDArray ()=default
 
boolNDArray all (int dim=-1) const
 
boolNDArray any (int dim=-1) const
 
bool any_element_is_nan () const
 
charNDArray concat (const charNDArray &rb, const Array< octave_idx_type > &ra_idx)
 
charNDArray concat (const NDArray &rb, const Array< octave_idx_type > &ra_idx)
 
charNDArray diag (octave_idx_type k=0) const
 
charNDArray diag (octave_idx_type m, octave_idx_type n) const
 
charNDArrayinsert (const charNDArray &a, const Array< octave_idx_type > &ra_idx)
 
charNDArrayinsert (const charNDArray &a, octave_idx_type r, octave_idx_type c)
 
charNDArray max (Array< octave_idx_type > &index, int dim=-1) const
 
charNDArray max (int dim=-1) const
 
charNDArray min (Array< octave_idx_type > &index, int dim=-1) const
 
charNDArray min (int dim=-1) const
 
charNDArrayoperator= (const charNDArray &a)
 
charNDArray squeeze () const
 
- Public Member Functions inherited from Array< char >
 Array ()
 Empty ctor (0 by 0). More...
 
 Array (Array< char, Alloc > &&a)
 
 Array (char *ptr, const dim_vector &dv, const Alloc &xallocator=Alloc())
 
 Array (const Array< char, Alloc > &a)
 No type conversion case. More...
 
 Array (const Array< char, Alloc > &a, const dim_vector &dv)
 Reshape constructor. More...
 
 Array (const Array< U, A > &a)
 Type conversion case. More...
 
 Array (const Container< char > &a, const dim_vector &dv)
 Constructor from standard library sequence containers. More...
 
 Array (const dim_vector &dv)
 nD uninitialized ctor. More...
 
 Array (const dim_vector &dv, const char &val)
 nD initialized ctor. More...
 
virtual ~Array ()
 
Array< char, Allocas_column () const
 Return the array as a column vector. More...
 
Array< char, Allocas_matrix () const
 Return the array as a matrix. More...
 
Array< char, Allocas_row () const
 Return the array as a row vector. More...
 
void clear ()
 
void clear (const dim_vector &dv)
 
void clear (octave_idx_type r, octave_idx_type c)
 
void fill (const char &val)
 
Array< octave_idx_typefind (octave_idx_type, bool) const
 
Array< octave_idx_typefind (octave_idx_type, bool) const
 
sortmode is_sorted_rows (sortmode) const
 
sortmode is_sorted_rows (sortmode) const
 
sortmode issorted (sortmode mode) const
 
sortmode issorted (sortmode) const
 
sortmode issorted (sortmode) const
 
Array< octave_idx_typelookup (const Array< octave::cdef_object > &, sortmode) const
 
Array< octave_idx_typelookup (const Array< octave::idx_vector > &, sortmode) const
 
octave_idx_type lookup (octave::cdef_object const &, sortmode) const
 
octave_idx_type lookup (octave::idx_vector const &, sortmode) const
 
void make_unique ()
 
octave_idx_type nnz () const
 
octave_idx_type nnz () const
 
Array< octave::cdef_object > nth_element (const octave::idx_vector &, int) const
 
Array< octave::idx_vectornth_element (const octave::idx_vector &, int) const
 
octave_idx_type numel () const
 Number of elements in the array. More...
 
Array< char, Alloc > & operator= (Array< char, Alloc > &&a)
 
Array< char, Alloc > & operator= (const Array< char, Alloc > &a)
 
Array< octave::cdef_object > sort (Array< octave_idx_type > &sidx, int, sortmode) const
 
Array< octave::idx_vectorsort (Array< octave_idx_type > &sidx, int, sortmode) const
 
Array< octave::cdef_object > sort (int, sortmode) const
 
Array< octave::idx_vectorsort (int, sortmode) const
 
Array< octave_idx_typesort_rows_idx (sortmode) const
 
Array< octave_idx_typesort_rows_idx (sortmode) const
 
octave_idx_type dim1 () const
 
octave_idx_type rows () const
 
octave_idx_type dim2 () const
 
octave_idx_type cols () const
 
octave_idx_type columns () const
 
octave_idx_type dim3 () const
 Size of the specified dimension. More...
 
octave_idx_type pages () const
 Size of the specified dimension. More...
 
size_type size (const size_type d) const
 Size of the specified dimension. More...
 
std::size_t byte_size () const
 Size of the specified dimension. More...
 
const dim_vectordims () const
 Return a const-reference so that dims ()(i) works efficiently. More...
 
Array< char, Allocsqueeze () const
 Chop off leading singleton dimensions. More...
 
octave_idx_type compute_index (octave_idx_type i, octave_idx_type j) const
 Size of the specified dimension. More...
 
octave_idx_type compute_index (octave_idx_type i, octave_idx_type j, octave_idx_type k) const
 Size of the specified dimension. More...
 
octave_idx_type compute_index (const Array< octave_idx_type > &ra_idx) const
 Size of the specified dimension. More...
 
octave_idx_type compute_index_unchecked (const Array< octave_idx_type > &ra_idx) const
 Size of the specified dimension. More...
 
char & xelem (octave_idx_type n)
 Size of the specified dimension. More...
 
crefT xelem (octave_idx_type n) const
 Size of the specified dimension. More...
 
char & xelem (octave_idx_type i, octave_idx_type j)
 Size of the specified dimension. More...
 
crefT xelem (octave_idx_type i, octave_idx_type j) const
 Size of the specified dimension. More...
 
char & xelem (octave_idx_type i, octave_idx_type j, octave_idx_type k)
 Size of the specified dimension. More...
 
crefT xelem (octave_idx_type i, octave_idx_type j, octave_idx_type k) const
 Size of the specified dimension. More...
 
char & xelem (const Array< octave_idx_type > &ra_idx)
 Size of the specified dimension. More...
 
crefT xelem (const Array< octave_idx_type > &ra_idx) const
 Size of the specified dimension. More...
 
char & checkelem (octave_idx_type n)
 Size of the specified dimension. More...
 
char & checkelem (octave_idx_type i, octave_idx_type j)
 Size of the specified dimension. More...
 
char & checkelem (octave_idx_type i, octave_idx_type j, octave_idx_type k)
 Size of the specified dimension. More...
 
char & checkelem (const Array< octave_idx_type > &ra_idx)
 Size of the specified dimension. More...
 
crefT checkelem (octave_idx_type n) const
 Size of the specified dimension. More...
 
crefT checkelem (octave_idx_type i, octave_idx_type j) const
 Size of the specified dimension. More...
 
crefT checkelem (octave_idx_type i, octave_idx_type j, octave_idx_type k) const
 Size of the specified dimension. More...
 
crefT checkelem (const Array< octave_idx_type > &ra_idx) const
 Size of the specified dimension. More...
 
char & elem (octave_idx_type n)
 Size of the specified dimension. More...
 
char & elem (octave_idx_type i, octave_idx_type j)
 Size of the specified dimension. More...
 
char & elem (octave_idx_type i, octave_idx_type j, octave_idx_type k)
 Size of the specified dimension. More...
 
char & elem (const Array< octave_idx_type > &ra_idx)
 Size of the specified dimension. More...
 
crefT elem (octave_idx_type n) const
 Size of the specified dimension. More...
 
crefT elem (octave_idx_type i, octave_idx_type j) const
 Size of the specified dimension. More...
 
crefT elem (octave_idx_type i, octave_idx_type j, octave_idx_type k) const
 Size of the specified dimension. More...
 
crefT elem (const Array< octave_idx_type > &ra_idx) const
 Size of the specified dimension. More...
 
char & operator() (octave_idx_type n)
 Size of the specified dimension. More...
 
char & operator() (octave_idx_type i, octave_idx_type j)
 Size of the specified dimension. More...
 
char & operator() (octave_idx_type i, octave_idx_type j, octave_idx_type k)
 Size of the specified dimension. More...
 
char & operator() (const Array< octave_idx_type > &ra_idx)
 Size of the specified dimension. More...
 
crefT operator() (octave_idx_type n) const
 Size of the specified dimension. More...
 
crefT operator() (octave_idx_type i, octave_idx_type j) const
 Size of the specified dimension. More...
 
crefT operator() (octave_idx_type i, octave_idx_type j, octave_idx_type k) const
 Size of the specified dimension. More...
 
crefT operator() (const Array< octave_idx_type > &ra_idx) const
 Size of the specified dimension. More...
 
Array< char, Alloccolumn (octave_idx_type k) const
 Extract column: A(:,k+1). More...
 
Array< char, Allocpage (octave_idx_type k) const
 Extract page: A(:,:,k+1). More...
 
Array< char, Alloclinear_slice (octave_idx_type lo, octave_idx_type up) const
 Extract a slice from this array as a column vector: A(:)(lo+1:up). More...
 
Array< char, Allocreshape (octave_idx_type nr, octave_idx_type nc) const
 Size of the specified dimension. More...
 
Array< char, Allocreshape (const dim_vector &new_dims) const
 Size of the specified dimension. More...
 
Array< char, Allocpermute (const Array< octave_idx_type > &vec, bool inv=false) const
 Size of the specified dimension. More...
 
Array< char, Allocipermute (const Array< octave_idx_type > &vec) const
 Size of the specified dimension. More...
 
bool issquare () const
 Size of the specified dimension. More...
 
bool isempty () const
 Size of the specified dimension. More...
 
bool isvector () const
 Size of the specified dimension. More...
 
bool is_nd_vector () const
 Size of the specified dimension. More...
 
Array< char, Alloctranspose () const
 Size of the specified dimension. More...
 
Array< char, Allochermitian (char(*fcn)(const char &)=nullptr) const
 Size of the specified dimension. More...
 
const char * data () const
 Size of the specified dimension. More...
 
char * fortran_vec ()
 Size of the specified dimension. More...
 
bool is_shared () const
 Size of the specified dimension. More...
 
int ndims () const
 Size of the specified dimension. More...
 
Array< char, Allocindex (const octave::idx_vector &i) const
 Indexing without resizing. More...
 
Array< char, Allocindex (const octave::idx_vector &i, const octave::idx_vector &j) const
 Size of the specified dimension. More...
 
Array< char, Allocindex (const Array< octave::idx_vector > &ia) const
 Size of the specified dimension. More...
 
Array< char, Allocindex (const octave::idx_vector &i, bool resize_ok, const char &rfv) const
 Indexing with possible resizing and fill. More...
 
Array< char, Allocindex (const octave::idx_vector &i, bool resize_ok) const
 Size of the specified dimension. More...
 
Array< char, Allocindex (const octave::idx_vector &i, const octave::idx_vector &j, bool resize_ok, const char &rfv) const
 Size of the specified dimension. More...
 
Array< char, Allocindex (const octave::idx_vector &i, const octave::idx_vector &j, bool resize_ok) const
 Size of the specified dimension. More...
 
Array< char, Allocindex (const Array< octave::idx_vector > &ia, bool resize_ok, const char &rfv) const
 Size of the specified dimension. More...
 
Array< char, Allocindex (const Array< octave::idx_vector > &ia, bool resize_ok) const
 Size of the specified dimension. More...
 
virtual char resize_fill_value () const
 Size of the specified dimension. More...
 
void resize2 (octave_idx_type nr, octave_idx_type nc, const char &rfv)
 Resizing (with fill). More...
 
void resize2 (octave_idx_type nr, octave_idx_type nc)
 Size of the specified dimension. More...
 
void resize1 (octave_idx_type n, const char &rfv)
 Size of the specified dimension. More...
 
void resize1 (octave_idx_type n)
 Size of the specified dimension. More...
 
void resize (const dim_vector &dv, const char &rfv)
 Size of the specified dimension. More...
 
void resize (const dim_vector &dv)
 Size of the specified dimension. More...
 
void assign (const octave::idx_vector &i, const Array< char, Alloc > &rhs, const char &rfv)
 Indexed assignment (always with resize & fill). More...
 
void assign (const octave::idx_vector &i, const Array< char, Alloc > &rhs)
 Size of the specified dimension. More...
 
void assign (const octave::idx_vector &i, const octave::idx_vector &j, const Array< char, Alloc > &rhs, const char &rfv)
 Size of the specified dimension. More...
 
void assign (const octave::idx_vector &i, const octave::idx_vector &j, const Array< char, Alloc > &rhs)
 Size of the specified dimension. More...
 
void assign (const Array< octave::idx_vector > &ia, const Array< char, Alloc > &rhs, const char &rfv)
 Size of the specified dimension. More...
 
void assign (const Array< octave::idx_vector > &ia, const Array< char, Alloc > &rhs)
 Size of the specified dimension. More...
 
void delete_elements (const octave::idx_vector &i)
 Deleting elements. More...
 
void delete_elements (int dim, const octave::idx_vector &i)
 A(:,...,I,...,:) = [] (>= 2 subscripts, one of them is non-colon) More...
 
void delete_elements (const Array< octave::idx_vector > &ia)
 Dispatcher to the above two. More...
 
Array< char, Alloc > & insert (const Array< char, Alloc > &a, const Array< octave_idx_type > &idx)
 Insert an array into another at a specified position. More...
 
Array< char, Alloc > & insert (const Array< char, Alloc > &a, octave_idx_type r, octave_idx_type c)
 This is just a special case for idx = [r c 0 ...]. More...
 
void maybe_economize ()
 Size of the specified dimension. More...
 
void print_info (std::ostream &os, const std::string &prefix) const
 Size of the specified dimension. More...
 
Array< char, Allocsort (int dim=0, sortmode mode=ASCENDING) const
 Size of the specified dimension. More...
 
Array< char, Allocsort (Array< octave_idx_type > &sidx, int dim=0, sortmode mode=ASCENDING) const
 Size of the specified dimension. More...
 
sortmode issorted (sortmode mode=UNSORTED) const
 Ordering is auto-detected or can be specified. More...
 
Array< octave_idx_typesort_rows_idx (sortmode mode=ASCENDING) const
 Sort by rows returns only indices. More...
 
sortmode is_sorted_rows (sortmode mode=UNSORTED) const
 Ordering is auto-detected or can be specified. More...
 
octave_idx_type lookup (const char &value, sortmode mode=UNSORTED) const
 Do a binary lookup in a sorted array. More...
 
Array< octave_idx_typelookup (const Array< char, Alloc > &values, sortmode mode=UNSORTED) const
 Ditto, but for an array of values, specializing on the case when values are sorted. More...
 
octave_idx_type nnz () const
 Count nonzero elements. More...
 
Array< octave_idx_typefind (octave_idx_type n=-1, bool backward=false) const
 Find indices of (at most n) nonzero elements. More...
 
Array< char, Allocnth_element (const octave::idx_vector &n, int dim=0) const
 Returns the n-th element in increasing order, using the same ordering as used for sort. More...
 
Array< char, Allocdiag (octave_idx_type k=0) const
 Get the kth super or subdiagonal. More...
 
Array< char, Allocdiag (octave_idx_type m, octave_idx_type n) const
 Size of the specified dimension. More...
 
Array< U, Amap (F fcn) const
 Apply function fcn to each element of the Array<T, Alloc>. More...
 
Array< U, Amap (U(&fcn)(char)) const
 Overloads for function references. More...
 
Array< U, Amap (U(&fcn)(const char &)) const
 Size of the specified dimension. More...
 
bool test (F fcn) const
 Generic any/all test functionality with arbitrary predicate. More...
 
bool test_any (F fcn) const
 Simpler calls. More...
 
bool test_any (bool(&fcn)(char)) const
 Overloads for function references. More...
 
bool test_any (bool(&fcn)(const char &)) const
 Size of the specified dimension. More...
 
bool test_all (F fcn) const
 Size of the specified dimension. More...
 
bool test_all (bool(&fcn)(char)) const
 Size of the specified dimension. More...
 
bool test_all (bool(&fcn)(const char &)) const
 Size of the specified dimension. More...
 
bool optimize_dimensions (const dim_vector &dv)
 Returns true if this->dims () == dv, and if so, replaces this->m_dimensions by a shallow copy of dv. More...
 

Static Public Member Functions

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)
 
- Static Public Member Functions inherited from Array< char >
static Array< char, Alloccat (int dim, octave_idx_type n, const Array< char, Alloc > *array_list)
 Concatenation along a specified (0-based) dimension, equivalent to cat(). More...
 

Additional Inherited Members

- Protected Member Functions inherited from Array< char >
 Array (const Array< char, Alloc > &a, const dim_vector &dv, octave_idx_type l, octave_idx_type u)
 slice constructor More...
 
- Protected Attributes inherited from Array< char >
dim_vector m_dimensions
 
Array< char, Alloc >::ArrayRep * m_rep
 
char * m_slice_data
 
octave_idx_type m_slice_len
 

Detailed Description

Definition at line 37 of file chNDArray.h.

Member Typedef Documentation

◆ matrix_type

Definition at line 43 of file chNDArray.h.

Constructor & Destructor Documentation

◆ charNDArray() [1/9]

charNDArray::charNDArray ( )
inline

Definition at line 45 of file chNDArray.h.

◆ charNDArray() [2/9]

charNDArray::charNDArray ( const dim_vector dv)
inline

Definition at line 47 of file chNDArray.h.

◆ charNDArray() [3/9]

charNDArray::charNDArray ( const dim_vector dv,
char  val 
)
inline

Definition at line 49 of file chNDArray.h.

◆ charNDArray() [4/9]

charNDArray::charNDArray ( const charNDArray a)
inline

Definition at line 51 of file chNDArray.h.

◆ charNDArray() [5/9]

charNDArray::charNDArray ( const Array< char > &  a)
inline

Definition at line 53 of file chNDArray.h.

◆ charNDArray() [6/9]

charNDArray::charNDArray ( char  c)

Definition at line 42 of file chNDArray.cc.

References Array< char >::elem(), n, and Array< char >::resize1().

◆ charNDArray() [7/9]

charNDArray::charNDArray ( const char *  s)

Definition at line 52 of file chNDArray.cc.

References Array< char >::elem(), n, Array< char >::resize1(), and strlen().

◆ charNDArray() [8/9]

charNDArray::charNDArray ( const std::string &  s)

Definition at line 63 of file chNDArray.cc.

References Array< char >::elem(), n, and Array< char >::resize1().

◆ charNDArray() [9/9]

charNDArray::charNDArray ( const string_vector s,
char  fill_value = '\0' 
)

Definition at line 74 of file chNDArray.cc.

References Array< char >::elem(), and Array< char >::rows().

◆ ~charNDArray()

charNDArray::~charNDArray ( )
default

Member Function Documentation

◆ all()

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

Definition at line 91 of file chNDArray.cc.

References mx_inline_all().

◆ any()

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

Definition at line 97 of file chNDArray.cc.

References mx_inline_any().

◆ any_element_is_nan()

bool charNDArray::any_element_is_nan ( ) const
inline

Definition at line 71 of file chNDArray.h.

◆ compute_index()

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

Definition at line 188 of file chNDArray.cc.

References compute_index(), and ra_idx.

◆ concat() [1/2]

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

Definition at line 103 of file chNDArray.cc.

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

◆ concat() [2/2]

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

◆ diag() [1/2]

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

Definition at line 195 of file chNDArray.cc.

References Array< T, Alloc >::diag().

◆ diag() [2/2]

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

Definition at line 201 of file chNDArray.cc.

References Array< T, Alloc >::diag(), m, and n.

◆ increment_index()

void charNDArray::increment_index ( Array< octave_idx_type > &  ra_idx,
const dim_vector dimensions,
int  start_dimension = 0 
)
static

Definition at line 180 of file chNDArray.cc.

References ra_idx.

◆ insert() [1/2]

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

Definition at line 173 of file chNDArray.cc.

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

◆ insert() [2/2]

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

Definition at line 166 of file chNDArray.cc.

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

Referenced by concat(), NDArray::concat(), and FloatNDArray::concat().

◆ max() [1/2]

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

Definition at line 148 of file chNDArray.cc.

References mx_inline_max().

◆ max() [2/2]

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

Definition at line 142 of file chNDArray.cc.

References mx_inline_max().

Referenced by do_minmax_red_op< charNDArray >().

◆ min() [1/2]

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

Definition at line 160 of file chNDArray.cc.

References mx_inline_min().

◆ min() [2/2]

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

Definition at line 154 of file chNDArray.cc.

References mx_inline_min().

Referenced by do_minmax_red_op< charNDArray >().

◆ operator=()

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

Definition at line 63 of file chNDArray.h.

References Array< T, Alloc >::operator=().

◆ squeeze()

charNDArray charNDArray::squeeze ( ) const
inline

Definition at line 94 of file chNDArray.h.

References Array< T, Alloc >::squeeze().


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