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

#include "boolNDArray.h"

Inheritance diagram for boolNDArray:
Array< bool > boolMatrix

Public Types

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

Public Member Functions

 boolNDArray ()
 
 boolNDArray (const Array< bool > &a)
 
 boolNDArray (const boolNDArray &a)
 
 boolNDArray (const dim_vector &dv)
 
 boolNDArray (const dim_vector &dv, const bool &val)
 
 ~boolNDArray ()=default
 
boolNDArray all (int dim=-1) const
 
boolNDArray any (int dim=-1) const
 
bool any_element_is_nan () const
 
boolNDArray concat (const boolNDArray &rb, const Array< octave_idx_type > &ra_idx)
 
boolNDArray diag (octave_idx_type k=0) const
 
boolNDArray diag (octave_idx_type m, octave_idx_type n) const
 
boolNDArrayinsert (const boolNDArray &a, const Array< octave_idx_type > &ra_idx)
 
boolNDArrayinsert (const boolNDArray &a, octave_idx_type r, octave_idx_type c)
 
boolNDArrayinvert ()
 
boolNDArray operator! () const
 
boolNDArrayoperator= (const boolNDArray &a)
 
boolNDArray squeeze () const
 
- Public Member Functions inherited from Array< bool >
 Array ()
 Empty ctor (0 by 0). More...
 
 Array (Array< bool, Alloc > &&a)
 
 Array (bool *ptr, const dim_vector &dv, const Alloc &xallocator=Alloc())
 
 Array (const Array< bool, Alloc > &a)
 No type conversion case. More...
 
 Array (const Array< bool, Alloc > &a, const dim_vector &dv)
 Reshape constructor. More...
 
 Array (const Array< U, A > &a)
 Type conversion case. More...
 
 Array (const Container< bool > &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 bool &val)
 nD initialized ctor. More...
 
virtual ~Array ()
 
Array< bool, Allocas_column () const
 Return the array as a column vector. More...
 
Array< bool, Allocas_matrix () const
 Return the array as a matrix. More...
 
Array< bool, 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 bool &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< bool, Alloc > & operator= (Array< bool, Alloc > &&a)
 
Array< bool, Alloc > & operator= (const Array< bool, 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< bool, 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...
 
bool & xelem (octave_idx_type n)
 Size of the specified dimension. More...
 
crefT xelem (octave_idx_type n) const
 Size of the specified dimension. More...
 
bool & 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...
 
bool & 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...
 
bool & 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...
 
bool & checkelem (octave_idx_type n)
 Size of the specified dimension. More...
 
bool & checkelem (octave_idx_type i, octave_idx_type j)
 Size of the specified dimension. More...
 
bool & checkelem (octave_idx_type i, octave_idx_type j, octave_idx_type k)
 Size of the specified dimension. More...
 
bool & 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...
 
bool & elem (octave_idx_type n)
 Size of the specified dimension. More...
 
bool & elem (octave_idx_type i, octave_idx_type j)
 Size of the specified dimension. More...
 
bool & elem (octave_idx_type i, octave_idx_type j, octave_idx_type k)
 Size of the specified dimension. More...
 
bool & 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...
 
bool & operator() (octave_idx_type n)
 Size of the specified dimension. More...
 
bool & operator() (octave_idx_type i, octave_idx_type j)
 Size of the specified dimension. More...
 
bool & operator() (octave_idx_type i, octave_idx_type j, octave_idx_type k)
 Size of the specified dimension. More...
 
bool & 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< bool, Alloccolumn (octave_idx_type k) const
 Extract column: A(:,k+1). More...
 
Array< bool, Allocpage (octave_idx_type k) const
 Extract page: A(:,:,k+1). More...
 
Array< bool, 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< bool, Allocreshape (octave_idx_type nr, octave_idx_type nc) const
 Size of the specified dimension. More...
 
Array< bool, Allocreshape (const dim_vector &new_dims) const
 Size of the specified dimension. More...
 
Array< bool, Allocpermute (const Array< octave_idx_type > &vec, bool inv=false) const
 Size of the specified dimension. More...
 
Array< bool, 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< bool, Alloctranspose () const
 Size of the specified dimension. More...
 
Array< bool, Allochermitian (bool(*fcn)(const bool &)=nullptr) const
 Size of the specified dimension. More...
 
const bool * data () const
 Size of the specified dimension. More...
 
bool * 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< bool, Allocindex (const octave::idx_vector &i) const
 Indexing without resizing. More...
 
Array< bool, Allocindex (const octave::idx_vector &i, const octave::idx_vector &j) const
 Size of the specified dimension. More...
 
Array< bool, Allocindex (const Array< octave::idx_vector > &ia) const
 Size of the specified dimension. More...
 
Array< bool, Allocindex (const octave::idx_vector &i, bool resize_ok, const bool &rfv) const
 Indexing with possible resizing and fill. More...
 
Array< bool, Allocindex (const octave::idx_vector &i, bool resize_ok) const
 Size of the specified dimension. More...
 
Array< bool, Allocindex (const octave::idx_vector &i, const octave::idx_vector &j, bool resize_ok, const bool &rfv) const
 Size of the specified dimension. More...
 
Array< bool, Allocindex (const octave::idx_vector &i, const octave::idx_vector &j, bool resize_ok) const
 Size of the specified dimension. More...
 
Array< bool, Allocindex (const Array< octave::idx_vector > &ia, bool resize_ok, const bool &rfv) const
 Size of the specified dimension. More...
 
Array< bool, Allocindex (const Array< octave::idx_vector > &ia, bool resize_ok) const
 Size of the specified dimension. More...
 
virtual bool resize_fill_value () const
 Size of the specified dimension. More...
 
void resize2 (octave_idx_type nr, octave_idx_type nc, const bool &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 bool &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 bool &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< bool, Alloc > &rhs, const bool &rfv)
 Indexed assignment (always with resize & fill). More...
 
void assign (const octave::idx_vector &i, const Array< bool, Alloc > &rhs)
 Size of the specified dimension. More...
 
void assign (const octave::idx_vector &i, const octave::idx_vector &j, const Array< bool, Alloc > &rhs, const bool &rfv)
 Size of the specified dimension. More...
 
void assign (const octave::idx_vector &i, const octave::idx_vector &j, const Array< bool, Alloc > &rhs)
 Size of the specified dimension. More...
 
void assign (const Array< octave::idx_vector > &ia, const Array< bool, Alloc > &rhs, const bool &rfv)
 Size of the specified dimension. More...
 
void assign (const Array< octave::idx_vector > &ia, const Array< bool, 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< bool, Alloc > & insert (const Array< bool, Alloc > &a, const Array< octave_idx_type > &idx)
 Insert an array into another at a specified position. More...
 
Array< bool, Alloc > & insert (const Array< bool, 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< bool, Allocsort (int dim=0, sortmode mode=ASCENDING) const
 Size of the specified dimension. More...
 
Array< bool, 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 bool &value, sortmode mode=UNSORTED) const
 Do a binary lookup in a sorted array. More...
 
Array< octave_idx_typelookup (const Array< bool, 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< bool, 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< bool, Allocdiag (octave_idx_type k=0) const
 Get the kth super or subdiagonal. More...
 
Array< bool, 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)(bool)) const
 Overloads for function references. More...
 
Array< U, Amap (U(&fcn)(const bool &)) 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)(bool)) const
 Overloads for function references. More...
 
bool test_any (bool(&fcn)(const bool &)) const
 Size of the specified dimension. More...
 
bool test_all (F fcn) const
 Size of the specified dimension. More...
 
bool test_all (bool(&fcn)(bool)) const
 Size of the specified dimension. More...
 
bool test_all (bool(&fcn)(const bool &)) 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< bool >
static Array< bool, Alloccat (int dim, octave_idx_type n, const Array< bool, Alloc > *array_list)
 Concatenation along a specified (0-based) dimension, equivalent to cat(). More...
 

Additional Inherited Members

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

Detailed Description

Definition at line 36 of file boolNDArray.h.

Member Typedef Documentation

◆ matrix_type

Definition at line 42 of file boolNDArray.h.

Constructor & Destructor Documentation

◆ boolNDArray() [1/5]

boolNDArray::boolNDArray ( )
inline

Definition at line 44 of file boolNDArray.h.

◆ boolNDArray() [2/5]

boolNDArray::boolNDArray ( const dim_vector dv)
inline

Definition at line 46 of file boolNDArray.h.

◆ boolNDArray() [3/5]

boolNDArray::boolNDArray ( const dim_vector dv,
const bool &  val 
)
inline

Definition at line 48 of file boolNDArray.h.

◆ boolNDArray() [4/5]

boolNDArray::boolNDArray ( const boolNDArray a)
inline

Definition at line 51 of file boolNDArray.h.

◆ boolNDArray() [5/5]

boolNDArray::boolNDArray ( const Array< bool > &  a)
inline

Definition at line 53 of file boolNDArray.h.

◆ ~boolNDArray()

boolNDArray::~boolNDArray ( )
default

Member Function Documentation

◆ all()

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

◆ any()

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

Definition at line 67 of file boolNDArray.cc.

References mx_inline_any().

Referenced by do_minmax_red_op< boolNDArray >(), and Fsum().

◆ any_element_is_nan()

bool boolNDArray::any_element_is_nan ( ) const
inline

Definition at line 69 of file boolNDArray.h.

◆ compute_index()

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

Definition at line 104 of file boolNDArray.cc.

References compute_index(), and ra_idx.

◆ concat()

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

Definition at line 73 of file boolNDArray.cc.

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

◆ diag() [1/2]

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

Definition at line 111 of file boolNDArray.cc.

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

◆ diag() [2/2]

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

Definition at line 117 of file boolNDArray.cc.

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

◆ increment_index()

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

Definition at line 96 of file boolNDArray.cc.

References ra_idx.

◆ insert() [1/2]

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

Definition at line 89 of file boolNDArray.cc.

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

◆ insert() [2/2]

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

Definition at line 82 of file boolNDArray.cc.

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

Referenced by concat().

◆ invert()

boolNDArray & boolNDArray::invert ( )

Definition at line 48 of file boolNDArray.cc.

References Array< bool >::is_shared(), and mx_inline_not2().

◆ operator!()

boolNDArray boolNDArray::operator! ( ) const

Definition at line 42 of file boolNDArray.cc.

References mx_inline_not().

◆ operator=()

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

Definition at line 55 of file boolNDArray.h.

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

◆ squeeze()

boolNDArray boolNDArray::squeeze ( ) const
inline

Definition at line 84 of file boolNDArray.h.

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


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