GNU Octave  3.8.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Friends | List of all members
dim_vector Class Reference

#include "dim-vector.h"

Collaboration diagram for dim_vector:
Collaboration graph
[legend]

Public Member Functions

 dim_vector (octave_idx_type n) GCC_ATTR_DEPRECATED
 dim_vector (OCT_MAKE_DECL_LIST(octave_idx_type, d, 2))
 dim_vector (OCT_MAKE_DECL_LIST(octave_idx_type, d, 3))
 dim_vector (OCT_MAKE_DECL_LIST(octave_idx_type, d, 4))
 dim_vector (OCT_MAKE_DECL_LIST(octave_idx_type, d, 5))
 dim_vector (OCT_MAKE_DECL_LIST(octave_idx_type, d, 6))
 dim_vector (OCT_MAKE_DECL_LIST(octave_idx_type, d, 7))
 dim_vector (void)
 dim_vector (const dim_vector &dv)
 dim_vector (octave_idx_type *r)
 ~dim_vector (void)
bool all_ones (void) const
bool all_zero (void) const
bool any_neg (void) const
bool any_zero (void) const
dim_vector as_column (void) const
dim_vector as_row (void) const
void chop_all_singletons (void)
void chop_trailing_singletons (void)
octave_idx_type compute_index (const octave_idx_type *idx) const
octave_idx_type compute_index (const octave_idx_type *idx, int nidx) const
bool concat (const dim_vector &dvb, int dim)
octave_idx_type cum_compute_index (const octave_idx_type *idx) const
dim_vector cumulative (void) const
octave_idx_typeelem (int i)
octave_idx_type elem (int i) const
bool empty_2d (void) const
int first_non_singleton (int def=0) const
bool hvcat (const dim_vector &dvb, int dim)
int increment_index (octave_idx_type *idx, int start=0) const
bool is_vector (void) const
int length (void) const
int num_ones (void) const
octave_idx_type numel (int n=0) const
octave_idx_typeoperator() (int i)
octave_idx_type operator() (int i) const
dim_vectoroperator= (const dim_vector &dv)
dim_vector redim (int n) const
void resize (int n, int fill_value=0)
octave_idx_type safe_numel (void) const
dim_vector squeeze (void) const
std::string str (char sep= 'x') const
octave_idx_typeto_jit (void) const
bool zero_by_zero (void) const

Static Public Member Functions

static dim_vector alloc (int n)
static octave_idx_type dim_max (void)

Private Member Functions

octave_idx_typeclonerep (void)
octave_idx_typecount (void) const
void freerep (void)
void make_unique (void)
octave_idx_typendims (void) const
octave_idx_typeresizerep (int n, octave_idx_type fill_value)

Static Private Member Functions

static octave_idx_typenewrep (int ndims)
static octave_idx_typenil_rep (void)

Private Attributes

octave_idx_typerep

Friends

bool operator== (const dim_vector &a, const dim_vector &b)

Detailed Description

Definition at line 53 of file dim-vector.h.

Constructor & Destructor Documentation

dim_vector::dim_vector ( octave_idx_type  n)
inlineexplicit

Definition at line 157 of file dim-vector.h.

dim_vector::dim_vector ( OCT_MAKE_DECL_LIST(octave_idx_type, d,2)  )
inline

Definition at line 173 of file dim-vector.h.

dim_vector::dim_vector ( OCT_MAKE_DECL_LIST(octave_idx_type, d,3)  )
inline

Definition at line 174 of file dim-vector.h.

dim_vector::dim_vector ( OCT_MAKE_DECL_LIST(octave_idx_type, d,4)  )
inline

Definition at line 175 of file dim-vector.h.

dim_vector::dim_vector ( OCT_MAKE_DECL_LIST(octave_idx_type, d,5)  )
inline

Definition at line 176 of file dim-vector.h.

dim_vector::dim_vector ( OCT_MAKE_DECL_LIST(octave_idx_type, d,6)  )
inline

Definition at line 177 of file dim-vector.h.

dim_vector::dim_vector ( OCT_MAKE_DECL_LIST(octave_idx_type, d,7)  )
inline

Definition at line 178 of file dim-vector.h.

dim_vector::dim_vector ( void  )
inlineexplicit

Definition at line 233 of file dim-vector.h.

References OCTREFCOUNT_ATOMIC_INCREMENT.

Referenced by hvcat(), and squeeze().

dim_vector::dim_vector ( const dim_vector dv)
inline

Definition at line 236 of file dim-vector.h.

References OCTREFCOUNT_ATOMIC_INCREMENT.

dim_vector::dim_vector ( octave_idx_type r)
inlineexplicit

Definition at line 240 of file dim-vector.h.

dim_vector::~dim_vector ( void  )
inline

Definition at line 261 of file dim-vector.h.

References OCTREFCOUNT_ATOMIC_DECREMENT.

Member Function Documentation

bool dim_vector::all_ones ( void  ) const
inline
bool dim_vector::all_zero ( void  ) const
inline
static dim_vector dim_vector::alloc ( int  n)
inlinestatic
bool dim_vector::any_neg ( void  ) const
inline

Definition at line 366 of file dim-vector.h.

References elem, and jit_convention::length.

Referenced by Array< T >::resize().

bool dim_vector::any_zero ( void  ) const
inline
dim_vector dim_vector::as_column ( void  ) const
inline

Definition at line 394 of file dim-vector.h.

References elem, and jit_convention::length.

dim_vector dim_vector::as_row ( void  ) const
inline

Definition at line 402 of file dim-vector.h.

References elem, and jit_convention::length.

void dim_vector::chop_all_singletons ( void  )

Definition at line 43 of file dim-vector.cc.

References make_unique(), ndims(), and rep.

Referenced by Array< T >::assign(), and zero_dims_inquire().

void dim_vector::chop_trailing_singletons ( void  )
inline
octave_idx_type* dim_vector::clonerep ( void  )
inlineprivate

Definition at line 79 of file dim-vector.h.

octave_idx_type dim_vector::compute_index ( const octave_idx_type idx) const
inline
octave_idx_type dim_vector::compute_index ( const octave_idx_type idx,
int  nidx 
) const
inline

Definition at line 439 of file dim-vector.h.

bool dim_vector::concat ( const dim_vector dvb,
int  dim 
)
octave_idx_type& dim_vector::count ( void  ) const
inlineprivate

Definition at line 63 of file dim-vector.h.

octave_idx_type dim_vector::cum_compute_index ( const octave_idx_type idx) const
inline

Definition at line 482 of file dim-vector.h.

References jit_convention::length.

Referenced by do_bsxfun_op(), and do_inplace_bsxfun_op().

dim_vector dim_vector::cumulative ( void  ) const
inline

Definition at line 467 of file dim-vector.h.

References jit_convention::length, and rep.

Referenced by convolve(), do_bsxfun_op(), and do_inplace_bsxfun_op().

octave_idx_type dim_vector::dim_max ( void  )
static

Definition at line 37 of file dim-vector.cc.

References max().

Referenced by Fsizemax(), and safe_numel().

octave_idx_type& dim_vector::elem ( int  i)
inline

Definition at line 183 of file dim-vector.h.

Referenced by num_ones(), squeeze(), and str().

octave_idx_type dim_vector::elem ( int  i) const
inline

Definition at line 192 of file dim-vector.h.

bool dim_vector::empty_2d ( void  ) const
inline

Definition at line 306 of file dim-vector.h.

References elem, and jit_convention::length.

int dim_vector::first_non_singleton ( int  def = 0) const
inline
void dim_vector::freerep ( void  )
inlineprivate

Definition at line 122 of file dim-vector.h.

bool dim_vector::hvcat ( const dim_vector dvb,
int  dim 
)

Definition at line 240 of file dim-vector.cc.

References concat(), dim_vector(), length(), and rep.

Referenced by Sparse< T >::cat(), Array< T >::cat(), and do_cat().

int dim_vector::increment_index ( octave_idx_type idx,
int  start = 0 
) const
inline

Definition at line 452 of file dim-vector.h.

References jit_convention::length.

Referenced by do_bsxfun_op(), do_inplace_bsxfun_op(), do_mat2cell(), and do_mat2cell_nd().

bool dim_vector::is_vector ( void  ) const
inline
int dim_vector::length ( void  ) const
inline

Definition at line 267 of file dim-vector.h.

Referenced by all_colon_equiv(), Array< octave_value >::as_column(), Array< octave_value >::as_matrix(), Array< octave_value >::as_row(), Array< T >::assign(), Array< T >::cat(), check_dimensions(), OCTAVE_VALUE_INT_MATRIX_T::complex_matrix_value(), convert_packcomplex_Nd(), DEFCONSTFUN(), DEFUN(), Array< T >::diag(), do_cat(), do_cellslices_nda(), do_diff(), do_fft(), do_fft2(), do_fftn(), do_num2cell_helper(), do_trilu(), Fblkmm(), Fbsxfun(), Fcellslices(), Fellipj(), Ffilter(), fill_matrix(), filter(), Find2sub(), OCTAVE_VALUE_INT_MATRIX_T::float_complex_matrix_value(), OCTAVE_VALUE_INT_MATRIX_T::float_matrix_value(), ComplexNDArray::fourier(), FloatComplexNDArray::fourier(), FloatNDArray::fourier(), NDArray::fourier(), ComplexNDArray::fourier2d(), FloatComplexNDArray::fourier2d(), FloatNDArray::fourier2d(), NDArray::fourier2d(), ComplexNDArray::fourierNd(), FloatComplexNDArray::fourierNd(), FloatNDArray::fourierNd(), NDArray::fourierNd(), freeze(), Fsize(), get_dims_str(), get_ra_idx(), get_red_dims(), get_vec_dims(), hvcat(), idx_vector::idx_mask_rep::idx_mask_rep(), idx_vector::idx_vector_rep::idx_vector_rep(), ComplexNDArray::ifourier(), FloatComplexNDArray::ifourier(), FloatNDArray::ifourier(), NDArray::ifourier(), ComplexNDArray::ifourier2d(), FloatComplexNDArray::ifourier2d(), FloatNDArray::ifourier2d(), NDArray::ifourier2d(), ComplexNDArray::ifourierNd(), FloatComplexNDArray::ifourierNd(), FloatNDArray::ifourierNd(), NDArray::ifourierNd(), increment_index(), ind2sub(), Sparse< T >::index(), index_in_bounds(), tm_const::init(), ComplexNDArray::insert(), FloatComplexNDArray::insert(), is_scalar(), is_valid_bsxfun(), is_valid_inplace_bsxfun(), is_vector(), isvector(), octave_value::length(), make_vector_dims(), mat2cell_mismatch(), OCTAVE_VALUE_INT_MATRIX_T::matrix_value(), SparseMatrix::max(), SparseComplexMatrix::max(), maybe_update_column(), SparseMatrix::min(), SparseComplexMatrix::min(), octave_base_value::ndims(), Array< octave_value >::ndims(), Sparse< bool >::ndims(), Array< T >::nth_element(), num_ones(), operator<<(), operator==(), Array< T >::permute(), rec_index_helper::rec_index_helper(), rec_resize_helper::rec_resize_helper(), redim(), Sparse< T >::reshape(), octave_base_diag< DMT, MT >::resize(), Sparse< T >::resize(), Array< T >::resize(), safe_numel(), octave_base_int_matrix< T >::save_ascii(), octave_struct::save_ascii(), octave_float_complex_matrix::save_ascii(), octave_char_matrix_str::save_ascii(), octave_complex_matrix::save_ascii(), octave_cell::save_ascii(), octave_float_matrix::save_ascii(), octave_bool_matrix::save_ascii(), octave_matrix::save_ascii(), octave_scalar_struct::save_ascii(), octave_base_int_matrix< T >::save_binary(), octave_sparse_bool_matrix::save_binary(), octave_struct::save_binary(), octave_sparse_complex_matrix::save_binary(), octave_sparse_matrix::save_binary(), octave_float_complex_matrix::save_binary(), octave_char_matrix_str::save_binary(), octave_complex_matrix::save_binary(), octave_cell::save_binary(), octave_float_matrix::save_binary(), octave_bool_matrix::save_binary(), octave_matrix::save_binary(), octave_base_int_matrix< T >::save_hdf5(), octave_float_complex_matrix::save_hdf5(), octave_char_matrix_str::save_hdf5(), octave_complex_matrix::save_hdf5(), octave_cell::save_hdf5(), octave_float_matrix::save_hdf5(), octave_bool_matrix::save_hdf5(), octave_matrix::save_hdf5(), save_hdf5_empty(), scalar(), octave_class::size(), octave_base_value::size(), octave_lazy_index::sort(), Array< T >::sort(), idx_vector::idx_vector_rep::sort_uniq_clone(), Sparse< T >::Sparse(), squeeze(), str(), try_cellfun_internal_ops(), update_index(), array_property::validate(), vector_equivalent(), and zero_dims_inquire().

void dim_vector::make_unique ( void  )
inlineprivate

Definition at line 128 of file dim-vector.h.

References OCTREFCOUNT_ATOMIC_DECREMENT.

Referenced by chop_all_singletons(), and concat().

octave_idx_type& dim_vector::ndims ( void  ) const
inlineprivate

Definition at line 61 of file dim-vector.h.

Referenced by chop_all_singletons(), and concat().

static octave_idx_type* dim_vector::newrep ( int  ndims)
inlinestaticprivate

Definition at line 67 of file dim-vector.h.

static octave_idx_type* dim_vector::nil_rep ( void  )
inlinestaticprivate

Definition at line 223 of file dim-vector.h.

References rep.

int dim_vector::num_ones ( void  ) const

Definition at line 81 of file dim-vector.cc.

References elem(), and length().

octave_idx_type dim_vector::numel ( int  n = 0) const
inline

Definition at line 344 of file dim-vector.h.

References elem, and jit_convention::length.

Referenced by airy(), betainc(), betaincinv(), biry(), compute_index(), convert_packcomplex_Nd(), octave_base_int_matrix< T >::convert_to_str_internal(), octave_sparse_matrix::convert_to_str_internal(), octave_float_matrix::convert_to_str_internal(), octave_matrix::convert_to_str_internal(), dims_to_numel(), do_bessel(), do_bsxfun_op(), do_inplace_bsxfun_op(), do_object2cell(), Fbsxfun(), octave_fftw::fftNd(), filter(), Fregexprep(), Freshape(), gammainc(), get_ra_idx(), octave_fftw::ifftNd(), ind2sub(), octave_base_sparse< T >::is_true(), octave_base_matrix< MT >::is_true(), octave_char_matrix_str::load_ascii(), octave_cell::load_ascii(), octave_base_int_matrix< T >::load_binary(), octave_float_complex_matrix::load_binary(), octave_char_matrix_str::load_binary(), octave_complex_matrix::load_binary(), octave_cell::load_binary(), octave_float_matrix::load_binary(), octave_bool_matrix::load_binary(), octave_matrix::load_binary(), octave_cell::load_hdf5(), octave_bool_matrix::load_hdf5(), make_vector_dims(), octave_class::numel(), octave_base_value::numel(), octave_print_internal_template(), read_mat5_binary_element(), Sparse< T >::reshape(), octave_float_complex::resize(), octave_complex::resize(), octave_scalar::resize(), octave_float_scalar::resize(), octave_bool::resize(), OCTAVE_VALUE_INT_SCALAR_T::resize(), octave_char_matrix_str::save_ascii(), octave_cell::save_ascii(), octave_float_complex_matrix::save_binary(), octave_char_matrix_str::save_binary(), octave_complex_matrix::save_binary(), octave_cell::save_binary(), octave_float_matrix::save_binary(), octave_matrix::save_binary(), octave_char_matrix_str::save_hdf5(), octave_cell::save_hdf5(), save_mat5_binary_element(), and Array< T >::sort().

octave_idx_type& dim_vector::operator() ( int  i)
inline

Definition at line 269 of file dim-vector.h.

References elem.

octave_idx_type dim_vector::operator() ( int  i) const
inline

Definition at line 271 of file dim-vector.h.

References elem.

dim_vector& dim_vector::operator= ( const dim_vector dv)
inline

Definition at line 247 of file dim-vector.h.

References OCTREFCOUNT_ATOMIC_DECREMENT, OCTREFCOUNT_ATOMIC_INCREMENT, and rep.

dim_vector dim_vector::redim ( int  n) const
void dim_vector::resize ( int  n,
int  fill_value = 0 
)
inline

Definition at line 273 of file dim-vector.h.

References jit_convention::length, and OCTREFCOUNT_ATOMIC_DECREMENT.

Referenced by octave_map::cat(), concat(), DEFCONSTFUN(), DEFUN(), mxArray_matlab::dims_to_dim_vector(), do_bsxfun_op(), octave_map::do_cat(), do_num2cell_helper(), do_rand(), Fbsxfun(), fill_matrix(), freeze(), Fresize(), get_dim_vector(), get_dimensions(), get_object_dims(), octave_base_int_matrix< T >::load_ascii(), octave_struct::load_ascii(), octave_float_complex_matrix::load_ascii(), octave_char_matrix_str::load_ascii(), octave_complex_matrix::load_ascii(), octave_cell::load_ascii(), octave_float_matrix::load_ascii(), octave_bool_matrix::load_ascii(), octave_matrix::load_ascii(), octave_base_int_matrix< T >::load_binary(), octave_float_complex_matrix::load_binary(), octave_char_matrix_str::load_binary(), octave_complex_matrix::load_binary(), octave_cell::load_binary(), octave_float_matrix::load_binary(), octave_bool_matrix::load_binary(), octave_matrix::load_binary(), octave_base_int_matrix< T >::load_hdf5(), octave_float_complex_matrix::load_hdf5(), octave_char_matrix_str::load_hdf5(), octave_complex_matrix::load_hdf5(), octave_cell::load_hdf5(), octave_float_matrix::load_hdf5(), octave_bool_matrix::load_hdf5(), octave_matrix::load_hdf5(), load_hdf5_empty(), Array< T >::nth_element(), Array< T >::permute(), read_mat5_binary_element(), Sparse< T >::reshape(), single_type_concat(), Array< T >::sort(), Array< T >::squeeze(), squeeze(), and zero_dims_inquire().

octave_idx_type* dim_vector::resizerep ( int  n,
octave_idx_type  fill_value 
)
inlineprivate

Definition at line 96 of file dim-vector.h.

octave_idx_type dim_vector::safe_numel ( void  ) const
dim_vector dim_vector::squeeze ( void  ) const

Definition at line 112 of file dim-vector.cc.

References dim_vector(), elem(), length(), and resize().

Referenced by octave_map::squeeze().

std::string dim_vector::str ( char  sep = 'x') const
octave_idx_type* dim_vector::to_jit ( void  ) const
inline

Definition at line 216 of file dim-vector.h.

Referenced by Array< octave_value >::jit_dimensions().

bool dim_vector::zero_by_zero ( void  ) const
inline

Friends And Related Function Documentation

bool operator== ( const dim_vector a,
const dim_vector b 
)
friend

Definition at line 497 of file dim-vector.h.

Member Data Documentation

octave_idx_type* dim_vector::rep
private

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