itpp::Array< T > Class Template Reference
Base Module » Array, Vector and Matrix Classes

General array class. More...

`#include <itpp/base/array.h>`

## Public Member Functions

| Array (const Factory &f=DEFAULT_FACTORY)
| Default constructor. An element factory `f` can be specified.
| Array (int n, const Factory &f=DEFAULT_FACTORY)
| Create an Array of size `n`. An element factory `f` can be specified.
| Array (const Array< T > &a, const Factory &f=DEFAULT_FACTORY)
| Copy constructor. An element factory `f` can be specified.
| Array (const std::string &values, const Factory &f=DEFAULT_FACTORY)
| Create an Array from string. An element factory `f` can be specified.
| Array (const char *values, const Factory &f=DEFAULT_FACTORY)
| Create an Array from char*. An element factory `f` can be specified.
virtual | ~Array ()
| Destructor.
T & | operator() (int i)
| Get the `i` element.
const T & | operator() (int i) const
| Get the `i` element.
const Array< T > | operator() (int i1, int i2) const
| Sub-array from element `i1` to element `i2`.
const Array< T > | operator() (const Array< int > &indices) const
| Sub-array with the elements given by the integer Array.
Array< T > | left (int n) const
| Get `n` left elements of the array.
Array< T > | right (int n) const
| Get `n` right elements of the array.
Array< T > | mid (int pos, int n) const
| Get `n` elements of the array starting from `pos`.
Array< T > & | operator= (const T &e)
| Assignment operator.
Array< T > & | operator= (const Array< T > &a)
| Assignment operator.
Array< T > & | operator= (const char *values)
| Assignment operator.
int | size () const
| Returns the number of data elements in the array object.
int | length () const
| Returns the number of data elements in the array object.
void | set_size (int n, bool copy=false)
| Resizing an Array<T>.
void | set_length (int n, bool copy=false)
| Resizing an Array<T>.
T | shift_right (const T &e)
| Shift in data at position 0. Return data from the last position.
const Array< T > | shift_right (const Array< T > &a)
| Shift in array at position 0. Return data from the last position.
T | shift_left (const T &e)
| Shift in data at the last position. Return data from position 0.
const Array< T > | shift_left (const Array< T > &a)
| Shift in array at the last position. Return data from position 0.
void | swap (int i, int j)
| Swap elements i and j.
void | set_subarray (int i1, int i2, const Array< T > &a)
| Set the subarray defined by indicies i1 to i2 to Array<T> a.
void | set_subarray (int i1, int i2, const T &t)
| Set the subarray defined by indicies i1 to i2 the element value t.

## Protected Member Functions

void | alloc (int n)
| Allocate storage for an array of length `n`.
void | free ()
| Free the storage space allocated by the array.
bool | in_range (int i) const
| Check whether index `i` is in the allowed range.

## Protected Attributes

int | ndata
| The current number of elements in the Array.
T * | data
| A pointer to the data area.
const Factory & | factory
| Element factory (by default set to DEFAULT_FACTORY)

## Friends

const Array< T > | concat (const Array< T > &a1, const T &e)
| Append element `e` to the end of the Array `a`.
const Array< T > | concat (const T &e, const Array< T > &a)
| Concat element `e` to the beginning of the Array `a`.
const Array< T > | concat (const Array< T > &a1, const Array< T > &a2)
| Concat Arrays `a1` and `a2`.
const Array< T > | concat (const Array< T > &a1, const Array< T > &a2, const Array< T > &a3)
| Concat Arrays `a1`, `a2` and `a3`.

## Related Symbols

(Note that these are not member symbols.)
template<class T >
std::ostream & | operator<< (std::ostream &os, const Array< T > &a)
| Output stream for Array<T>. T must have ostream operator<< defined.
template<class T >
std::istream & | operator>> (std::istream &is, Array< T > &a)
| Input stream for Array<T>. T must have istream operator>> defined.
template<class T >
void | set_array (Array< T > &a, const char *values)
| Assign a C-style string to an Array<T>. T must have istream operator>> defined.
template<class T >
void | set_array (Array< T > &a, const std::string &str)
| Assign a string to an Array<T>. T must have istream operator>> defined.

## Detailed Description

template<class T>
class itpp::Array< T >

General array class.

Author
  Tobias Ringstrom and Adam Piatyszek

This class is a general linear array class for arbitrary types. The operations and functions are the same as for the vector `Vec` class (except for the arithmetics).

For rarely used types you will need to instantiate the class by

template class Array<type>;
itpp::Array
General array class.
Definition array.h:105

The following example shows how to define an Array of vectors:

vec a = randn(10);
vec b = randn(20);
vec c = randn(30);
Array<vec> my_array(3);
my_array(0) = a;
my_array(1) = b;
my_array(2) = c;
itpp::randn
double randn(void)
Generates a random Gaussian (0,1) variable.
Definition random.h:831

For types T with istream `operator>>` defined special constructor or `operator=` or `set_array` functions (see Related Functions) can be used to assign a string literal to an Array. The string literal has the same format that is used by the istream/ostream operators:

// Initialise an array with three bit vectors
Array<bvec> B = "{[1 0 1] [0 0 1] [1 0 0 0 1]}";
// Declare an Array of Arrays of vectors
Array<Array<ivec> > an_array;
// Assign with an Array containing 2 Arrays,
// the first Array containing [1 2] and
// the second Array containing [3 4 5] and [6 7]
set_array(an_array, "{{[1 2]} {[3 4 5] [6 7]}}");
itpp::Array::set_array
void set_array(Array< T > &a, const char *values)
Assign a C-style string to an Array<T>. T must have istream operator>> defined.
Definition array.h:600

By default, Array elements are created using the default constructor for the element type. This can be changed by specifying a suitable Factory in the Array constructor call (see Detailed Description for Factory).

Definition at line 104 of file array.h.

## Constructor & Destructor Documentation

## Array() [1/5]

template<class T >

itpp::Array< T >::Array | ( | const Factory & | f = `DEFAULT_FACTORY` | ) |

inline explicit

Default constructor. An element factory `f` can be specified.

Definition at line 217 of file array.h.

## Array() [2/5]

template<class T >

itpp::Array< T >::Array | ( | int | n,
|  | const Factory & | f = `DEFAULT_FACTORY`
| ) |  |

inline

Create an Array of size `n`. An element factory `f` can be specified.

Definition at line 220 of file array.h.

References itpp::Array< T >::alloc().

## Array() [3/5]

template<class T >

itpp::Array< T >::Array | ( | const Array< T > & | a,
|  | const Factory & | f = `DEFAULT_FACTORY`
| ) |  |

inline

Copy constructor. An element factory `f` can be specified.

Definition at line 226 of file array.h.

References itpp::Array< T >::alloc(), itpp::Array< T >::data, and itpp::Array< T >::ndata.

## Array() [4/5]

template<class T >

itpp::Array< T >::Array | ( | const std::string & | values,
|  | const Factory & | f = `DEFAULT_FACTORY`
| ) |  |

inline

Create an Array from string. An element factory `f` can be specified.

Definition at line 235 of file array.h.

## Array() [5/5]

template<class T >

itpp::Array< T >::Array | ( | const char * | values,
|  | const Factory & | f = `DEFAULT_FACTORY`
| ) |  |

inline

Create an Array from char*. An element factory `f` can be specified.

Definition at line 243 of file array.h.

## ~Array()

template<class T >

itpp::Array< T >::~Array | ( |  | ) |

virtual

Destructor.

Definition at line 251 of file array.h.

References itpp::Array< T >::free().

## Member Function Documentation

## operator()() [1/4]

template<class T >

T & itpp::Array< T >::operator() | ( | int | i | ) |

inline

Get the `i` element.

Definition at line 290 of file array.h.

References itpp::Array< T >::data, itpp::Array< T >::in_range(), and it_assert_debug.

Referenced by itpp::Signal< DataType >::operator()().

## operator()() [2/4]

template<class T >

const T & itpp::Array< T >::operator() | ( | int | i | ) | const

inline

Get the `i` element.

Definition at line 297 of file array.h.

References itpp::Array< T >::data, itpp::Array< T >::in_range(), and it_assert_debug.

## operator()() [3/4]

template<class T >

const Array< T > itpp::Array< T >::operator() | ( | int | i1,
|  | int | i2
| ) |  | const

inline

Sub-array from element `i1` to element `i2`.

Definition at line 304 of file array.h.

References itpp::Array< T >::data, itpp::Array< T >::in_range(), it_assert_debug, and itpp::Array< T >::ndata.

## operator()() [4/4]

template<class T >

const Array< T > itpp::Array< T >::operator() | ( | const Array< int > & | indices | ) | const

inline

Sub-array with the elements given by the integer Array.

Definition at line 315 of file array.h.

References itpp::Array< T >::data, itpp::Array< T >::in_range(), it_assert_debug, and itpp::Array< T >::size().

## left()

template<class T >

Array< T > itpp::Array< T >::left | ( | int | n | ) | const

Get `n` left elements of the array.

Definition at line 357 of file array.h.

References itpp::Array< T >::data, itpp::Array< T >::in_range(), and it_assert_debug.

Referenced by itpp::chebwin(), itpp::CRC_Code::check_parity(), itpp::Extended_Golay::decode(), itpp::LDPC_Code::decode(), itpp::Turbo_Codec::decode_block(), itpp::Turbo_Codec::decode_n3(), itpp::Cross_Interleaver< T >::deinterleave(), itpp::LDPC_Parity_Unstructured::generate_random_H(), itpp::Modulator_NRD::get_symbols(), itpp::Modulator_NCD::get_symbols(), and itpp::Cross_Interleaver< T >::interleave().

## right()

template<class T >

Array< T > itpp::Array< T >::right | ( | int | n | ) | const

Get `n` right elements of the array.

Definition at line 367 of file array.h.

References itpp::Array< T >::data, itpp::Array< T >::in_range(), it_assert_debug, and itpp::Array< T >::ndata.

Referenced by itpp::CRC_Code::check_parity(), itpp::Hamming_Code::decode(), itpp::Turbo_Codec::decode_block(), itpp::Block_Interleaver< T >::deinterleave(), itpp::Cross_Interleaver< T >::deinterleave(), itpp::Sequence_Interleaver< T >::deinterleave(), itpp::Convolutional_Code::encode_tailbite(), itpp::Block_Interleaver< T >::interleave(), itpp::Cross_Interleaver< T >::interleave(), itpp::Sequence_Interleaver< T >::interleave(), itpp::LFSR::set_connections(), itpp::LFSR::set_connections(), and itpp::LFSR::set_state().

## mid()

template<class T >

Array< T > itpp::Array< T >::mid | ( | int | pos,
|  | int | n
| ) |  | const

Get `n` elements of the array starting from `pos`.

Definition at line 377 of file array.h.

References itpp::Array< T >::data, it_assert_debug, and itpp::Array< T >::ndata.

Referenced by itpp::Extended_Golay::decode(), itpp::Hamming_Code::decode(), itpp::BCH::decode(), itpp::Reed_Solomon::decode(), itpp::Turbo_Codec::decode(), itpp::Turbo_Codec::decode_n3(), itpp::Convolutional_Code::decode_tail(), itpp::Convolutional_Code::decode_tailbite(), itpp::Convolutional_Code::decode_trunc(), itpp::Cross_Interleaver< T >::deinterleave(), itpp::Spread_1d::despread(), itpp::Multicode_Spread_1d::despread(), itpp::Turbo_Codec::encode(), itpp::BCH::encode(), itpp::Extended_Golay::encode(), itpp::Hamming_Code::encode(), itpp::Reed_Solomon::encode(), itpp::BERC::estimate_delay(), itpp::Cross_Interleaver< T >::interleave(), itpp::Convolutional_Code::inverse_tail(), itpp::Modulator_NCD::modulate_bits(), itpp::Modulator_NRD::modulate_bits(), itpp::Modulator< T >::modulate_bits(), and itpp::Multicode_Spread_1d::spread().

## operator=() [1/3]

template<class T >

Array< T > & itpp::Array< T >::operator= | ( | const T & | e | ) |

inline

Assignment operator.

Definition at line 338 of file array.h.

References itpp::Array< T >::data, itpp::Array< T >::ndata, and itpp::Array< T >::set_size().

Referenced by itpp::Mat< Num_T >::operator*=(), and itpp::Mat< Num_T >::operator+=().

## operator=() [2/3]

template<class T >

Array< T > & itpp::Array< T >::operator= | ( | const Array< T > & | a | ) |

inline

Assignment operator.

Definition at line 327 of file array.h.

References itpp::Array< T >::data, itpp::Array< T >::ndata, and itpp::Array< T >::set_size().

## operator=() [3/3]

template<class T >

Array< T > & itpp::Array< T >::operator= | ( | const char * | values | ) |

Assignment operator.

Definition at line 348 of file array.h.

## size()

template<class T >

int itpp::Array< T >::size | ( |  | ) | const

inline

Returns the number of data elements in the array object.

Definition at line 155 of file array.h.

References itpp::Array< T >::ndata.

Referenced by itpp::Sparse_Vec< T >::add(), itpp::Vec< Num_T >::alloc(), itpp::MOG_diag::avg_log_lhood(), itpp::MOG_generic::avg_log_lhood(), itpp::besseli(), itpp::besselj(), itpp::besselj(), itpp::besselk(), itpp::bessely(), itpp::bessely(), itpp::bidiag(), itpp::bidiag(), itpp::bitrv(), itpp::LDPC_Code::bp_decode(), itpp::bvec2mxArray(), itpp::TDL_Channel::calc_frequency_response(), itpp::TDL_Channel::calc_impulse_response(), itpp::cheb(), itpp::MOG_generic::check_array_uniformity(), itpp::CRC_Code::check_parity(), itpp::MOG_generic::check_size(), itpp::Convolutional_Code::compare_spectra(), itpp::Convolutional_Code::compare_spectra(), itpp::cross(), itpp::cumsum(), itpp::cvec2mxArray(), itpp::CRC_Code::decode(), itpp::Turbo_Codec::decode(), itpp::Punctured_Turbo_Codec::decode(), itpp::Turbo_Codec::decode_block(), itpp::Turbo_Codec::decode_n3(), itpp::Convolutional_Code::decode_tail(), itpp::Punctured_Convolutional_Code::decode_tail(), itpp::Convolutional_Code::decode_tailbite(), itpp::Punctured_Convolutional_Code::decode_tailbite(), itpp::Convolutional_Code::decode_trunc(), itpp::Punctured_Convolutional_Code::decode_trunc(), itpp::Modulator< T >::demodulate(), itpp::QAM::demodulate_bits(), itpp::PSK::demodulate_bits(), itpp::PAM_c::demodulate_bits(), itpp::PAM::demodulate_bits(), itpp::Modulator< T >::demodulate_bits(), itpp::QPSK::demodulate_soft_bits(), itpp::BPSK_c::demodulate_soft_bits(), itpp::PAM_c::demodulate_soft_bits(), itpp::QPSK::demodulate_soft_bits(), itpp::BPSK_c::demodulate_soft_bits(), itpp::PAM_c::demodulate_soft_bits(), itpp::Modulator_NCD::demodulate_soft_bits(), itpp::Modulator_NCD::demodulate_soft_bits(), itpp::BPSK::demodulate_soft_bits(), itpp::BPSK::demodulate_soft_bits(), itpp::Modulator_NRD::demodulate_soft_bits(), itpp::Modulator_NRD::demodulate_soft_bits(), itpp::Modulator< T >::demodulate_soft_bits(), itpp::Modulator< T >::demodulate_soft_bits(), itpp::dht(), itpp::dht(), itpp::diag(), itpp::diag(), itpp::diag(), itpp::TDL_Channel::discretize(), itpp::dwht(), itpp::MOG_diag::enable_c_access(), itpp::MOG_diag::enable_c_access(), itpp::Rec_Syst_Conv_Code::encode(), itpp::LDPC_Generator_Systematic::encode(), itpp::Punctured_Turbo_Codec::encode(), itpp::Convolutional_Code::encode_tail(), itpp::Rec_Syst_Conv_Code::encode_tail(), itpp::Convolutional_Code::encode_tailbite(), itpp::Convolutional_Code::encode_trunc(), itpp::filter_design_autocorrelation(), itpp::find(), itpp::freqz(), itpp::freqz(), itpp::GF2mat_sparse_alist::from_sparse(), itpp::FIR_Fading_Generator::generate(), itpp::IFFT_Fading_Generator::generate_Jakes(), itpp::Mat< Num_T >::get_cols(), itpp::Pulse_Shape< T1, T2, T3 >::get_filter_length(), itpp::Parser::get_int(), itpp::Mat< Num_T >::get_rows(), itpp::MA_Filter< T1, T2, T3 >::get_state(), itpp::AR_Filter< T1, T2, T3 >::get_state(), itpp::ARMA_Filter< T1, T2, T3 >::get_state(), itpp::Gold::Gold(), itpp::hamming_distance(), itpp::house(), itpp::index_zero_pad(), itpp::TDL_Channel::init(), itpp::MOG_generic::init(), itpp::MOG_generic::init(), itpp::MOG_generic::init(), itpp::Parser::init(), itpp::Parser::init(), itpp::Vec< Num_T >::ins(), itpp::Mat< Num_T >::ins_col(), itpp::Mat< Num_T >::ins_row(), itpp::Sort< T >::intro_sort(), itpp::Convolutional_Code::inverse_tail(), itpp::ivec2mxArray(), itpp::kurtosisexcess(), itpp::BLDPC_Parity::load_base_matrix(), itpp::it_ifile::low_level_read(), itpp::it_ifile_old::low_level_read(), itpp::it_ifile::low_level_read(), itpp::it_ifile::low_level_read(), itpp::it_ifile_old::low_level_read(), itpp::it_ifile::low_level_read(), itpp::it_ifile::low_level_read(), itpp::it_ifile::low_level_read(), itpp::it_ifile_old::low_level_read(), itpp::it_ifile::low_level_read(), itpp::it_ifile_old::low_level_read(), itpp::it_ifile::low_level_read(), itpp::it_ifile::low_level_read_hi(), itpp::it_ifile_old::low_level_read_hi(), itpp::it_ifile::low_level_read_hi(), itpp::it_ifile_old::low_level_read_hi(), itpp::it_ifile::low_level_read_hi(), itpp::it_ifile_old::low_level_read_hi(), itpp::it_ifile::low_level_read_hi(), itpp::it_ifile_old::low_level_read_hi(), itpp::it_ifile::low_level_read_lo(), itpp::it_ifile_old::low_level_read_lo(), itpp::it_ifile_old::low_level_read_lo(), itpp::it_ifile::low_level_read_lo(), itpp::it_ifile_old::low_level_read_lo(), itpp::it_ifile_old::low_level_read_lo(), itpp::it_ifile::low_level_read_lo(), itpp::it_ifile_old::low_level_read_lo(), itpp::it_ifile::low_level_read_lo(), itpp::it_ifile_old::low_level_read_lo(), itpp::it_file::low_level_write(), itpp::it_file_old::low_level_write(), itpp::it_file::low_level_write(), itpp::it_file_old::low_level_write(), itpp::it_file::low_level_write(), itpp::it_file_old::low_level_write(), itpp::it_file::low_level_write(), itpp::it_file_old::low_level_write(), itpp::it_file::low_level_write(), itpp::it_file::low_level_write(), itpp::it_file_old::low_level_write(), itpp::it_file::low_level_write(), itpp::it_file_old::low_level_write(), itpp::it_file::low_level_write(), itpp::it_file_old::low_level_write(), itpp::it_file::low_level_write(), itpp::it_file_old::low_level_write(), itpp::it_file::low_level_write(), itpp::it_file_old::low_level_write(), itpp::it_file::low_level_write(), itpp::it_file_old::low_level_write(), itpp::it_file::low_level_write(), itpp::it_file::low_level_write(), itpp::it_file_old::low_level_write(), itpp::lshift_fix(), itpp::Turbo_Codec::lte_turbo_interleaver_sequence(), itpp::Mat< Num_T >::Mat(), itpp::mean(), itpp::MOG_diag_EM_sup::ml(), itpp::modified_yule_walker(), itpp::BPSK_c::modulate_bits(), itpp::BPSK::modulate_bits(), itpp::BPSK_c::modulate_bits(), itpp::BPSK::modulate_bits(), itpp::moment(), itpp::norm(), itpp::norm(), itpp::norm(), itpp::norm(), itpp::Array< T >::operator()(), itpp::AWGN_Channel::operator()(), itpp::Vec< Num_T >::operator()(), itpp::Vec< Num_T >::operator()(), itpp::Vec< Num_T >::operator*(), itpp::Vec< Num_T >::operator*(), itpp::operator*(), itpp::operator*(), itpp::Vec< Num_T >::operator*(), itpp::Vec< Num_T >::operator*(), itpp::operator*(), itpp::Vec< Num_T >::operator*(), itpp::Vec< Num_T >::operator*(), itpp::operator*(), itpp::Vec< Num_T >::operator*(), itpp::Vec< Num_T >::operator*(), itpp::Vec< Num_T >::operator*(), itpp::Vec< Num_T >::operator*(), itpp::Vec< double >::operator*(), itpp::Vec< Num_T >::operator*(), itpp::GFX::operator*=(), itpp::Vec< Num_T >::operator+(), itpp::Vec< Num_T >::operator+(), itpp::operator+(), itpp::operator+(), itpp::Vec< Num_T >::operator+(), itpp::Vec< Num_T >::operator+(), itpp::operator+(), itpp::Vec< Num_T >::operator+(), itpp::Vec< Num_T >::operator+(), itpp::Vec< Num_T >::operator+(), itpp::Vec< Num_T >::operator+(), itpp::Vec< Num_T >::operator+(), itpp::GFX::operator+=(), itpp::Sparse_Vec< T >::operator+=(), itpp::Sparse_Vec< T >::operator+=(), itpp::Vec< Num_T >::operator-(), itpp::Vec< Num_T >::operator-(), itpp::Vec< Num_T >::operator-(), itpp::Sparse_Vec< T >::operator-=(), itpp::Sparse_Vec< T >::operator-=(), itpp::Vec< Num_T >::operator/(), itpp::Vec< Num_T >::operator/(), itpp::Vec< Num_T >::operator/(), itpp::Vec< Num_T >::operator/(), itpp::Vec< Num_T >::operator/(), itpp::bofstream::operator<<(), itpp::bfstream::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::operator<<(), itpp::Array< T >::operator<<(), itpp::Mat< Num_T >::operator=(), itpp::Sparse_Vec< T >::operator=(), itpp::Array< T >::operator>>(), itpp::CRC_Code::parity(), itpp::Circular_Buffer< T >::peek(), itpp::Circular_Buffer< T >::peek(), itpp::poly(), itpp::poly(), itpp::polystab(), itpp::polystab(), itpp::polyval(), itpp::polyval(), itpp::polyval(), itpp::polyval(), itpp::prod(), itpp::Circular_Buffer< T >::put(), itpp::Circular_Buffer< T >::put(), itpp::reshape(), itpp::RNG_set_state(), itpp::roots(), itpp::roots(), itpp::rshift_fix(), itpp::rshift_fix(), itpp::MOG_diag_kmeans_sup::run(), itpp::Bernoulli_RNG::sample_vector(), itpp::Complex_Normal_RNG::sample_vector(), itpp::Uniform_RNG::sample_vector(), itpp::Normal_RNG::sample_vector(), itpp::self_dht(), itpp::Fast_ICA::separate(), itpp::Mat< Num_T >::set(), itpp::Modulator< T >::set(), itpp::GFX::set(), itpp::TDL_Channel::set_channel_profile(), itpp::TDL_Channel::set_channel_profile(), itpp::Channel_Specification::set_channel_profile(), itpp::CRC_Code::set_code(), itpp::Spread_1d::set_code(), itpp::AR_Filter< T1, T2, T3 >::set_coeffs(), itpp::MA_Filter< T1, T2, T3 >::set_coeffs(), itpp::ARMA_Filter< T1, T2, T3 >::set_coeffs(), itpp::Mat< Num_T >::set_col(), itpp::LFSR::set_connections(), itpp::LFSR::set_connections(), itpp::ND_UQAM::set_constellation_points(), itpp::MOG_generic::set_diag_covs_internal(), itpp::set_fix(), itpp::set_fix(), itpp::set_fix(), itpp::set_fix(), itpp::MOG_generic::set_full_covs_internal(), itpp::Convolutional_Code::set_generator_polynomials(), itpp::Rec_Syst_Conv_Code::set_generator_polynomials(), itpp::Turbo_Codec::set_interleaver(), itpp::Sequence_Interleaver< T >::set_interleaver_sequence(), itpp::Channel_Specification::set_LOS(), itpp::TDL_Channel::set_LOS(), itpp::TDL_Channel::set_LOS_doppler(), itpp::TDL_Channel::set_LOS_power(), itpp::MOG_generic::set_means_internal(), itpp::Sparse_Vec< T >::set_new(), itpp::Turbo_Codec::set_parameters(), itpp::Pulse_Shape< T1, T2, T3 >::set_pulse_shape(), itpp::Raised_Cosine< T1 >::set_pulse_shape(), itpp::Root_Raised_Cosine< T1 >::set_pulse_shape(), itpp::Mat< Num_T >::set_row(), itpp::Array< T >::set_size(), itpp::GF::set_size(), itpp::Vec< Num_T >::set_size(), itpp::Newton_Search::set_start_point(), itpp::Newton_Search::set_start_point(), itpp::Line_Search::set_start_point(), itpp::MA_Filter< T1, T2, T3 >::set_state(), itpp::AR_Filter< T1, T2, T3 >::set_state(), itpp::ARMA_Filter< T1, T2, T3 >::set_state(), itpp::MOG_generic::set_weights_internal(), itpp::Pulse_Shape< T1, T2, T3 >::shape_samples(), itpp::Pulse_Shape< T1, T2, T3 >::shape_symbols(), itpp::skewness(), itpp::Sort< T >::sort(), itpp::Vec< Num_T >::sort(), itpp::Vec< Num_T >::sort_index(), itpp::Sparse_Vec< T >::Sparse_Vec(), itpp::Sparse_Vec< T >::Sparse_Vec(), itpp::spectrum(), itpp::spectrum(), itpp::Mat< Num_T >::sub_m_v_vT(), itpp::TDL_Channel::TDL_Channel(), itpp::to(), itpp::to(), itpp::toeplitz(), itpp::toeplitz(), itpp::toeplitz(), itpp::tridiag(), itpp::tridiag(), itpp::unfix(), itpp::variance(), itpp::variance(), itpp::vec2mxArray(), itpp::weight(), itpp::it_file::write_data_header(), itpp::xcorr_old(), itpp::yulewalk(), itpp::zero_pad(), itpp::zero_pad(), and itpp::TDL_Channel::~TDL_Channel().

## length()

template<class T >

int itpp::Array< T >::length | ( |  | ) | const

inline

Returns the number of data elements in the array object.

Definition at line 157 of file array.h.

References itpp::Array< T >::ndata.

Referenced by itpp::abs(), itpp::apply_functor(), itpp::arg(), itpp::BCH::BCH(), itpp::BCH::BCH(), itpp::LDPC_Parity_Unstructured::compute_CR(), itpp::BERC::count(), itpp::BLERC::count(), itpp::BERC::count_errors(), itpp::BCH::decode(), itpp::Extended_Golay::decode(), itpp::Hamming_Code::decode(), itpp::Reed_Solomon::decode(), itpp::BCH::decode(), itpp::Reed_Solomon::decode(), itpp::Turbo_Codec::decode(), itpp::Turbo_Codec::decode_n3(), itpp::Block_Interleaver< T >::deinterleave(), itpp::Cross_Interleaver< T >::deinterleave(), itpp::Sequence_Interleaver< T >::deinterleave(), itpp::Modulator< T >::demodulate(), itpp::BPSK_c::demodulate_bits(), itpp::BPSK::demodulate_bits(), itpp::SISO::descrambler(), itpp::Spread_1d::despread(), itpp::Multicode_Spread_1d::despread(), itpp::LDPC_Parity::display_stats(), itpp::dot(), itpp::Turbo_Codec::encode(), itpp::BCH::encode(), itpp::Extended_Golay::encode(), itpp::Hamming_Code::encode(), itpp::Reed_Solomon::encode(), itpp::STC::encode(), itpp::BERC::estimate_delay(), itpp::EXIT::extrinsic_mutual_info(), itpp::Freq_Filt< Num_T >::filter(), itpp::EXIT::generate_apriori_info(), itpp::LDPC_Parity_Unstructured::generate_random_H(), itpp::geometric_mean(), itpp::Modulator_NRD::get_symbols(), itpp::Modulator_NCD::get_symbols(), itpp::imag(), itpp::Vec< Num_T >::ins(), itpp::Block_Interleaver< T >::interleave(), itpp::Cross_Interleaver< T >::interleave(), itpp::Sequence_Interleaver< T >::interleave(), itpp::length(), itpp::lininterp(), itpp::lininterp(), itpp::Rec_Syst_Conv_Code::log_decode(), itpp::Rec_Syst_Conv_Code::log_decode(), itpp::Rec_Syst_Conv_Code::log_decode_n2(), itpp::Rec_Syst_Conv_Code::log_decode_n2(), itpp::Rec_Syst_Conv_Code::map_decode(), itpp::max(), itpp::max(), itpp::max_index(), itpp::mean(), itpp::mean(), itpp::mean(), itpp::median(), itpp::min(), itpp::min(), itpp::min_index(), itpp::Modulator< T >::modulate(), itpp::Modulator< T >::modulate(), itpp::Modulator< T >::modulate_bits(), itpp::norm(), itpp::BSC::operator()(), itpp::Filter< T1, T2, T3 >::operator()(), itpp::Vec< double >::operator*(), itpp::outer_product(), pcamat(), itpp::pow2(), itpp::rank(), itpp::real(), itpp::repeat(), itpp::Vec< Num_T >::repmat(), itpp::reverse(), itpp::Sequence_Interleaver< T >::Sequence_Interleaver(), itpp::GF::set(), itpp::Spread_2d::set_code(), itpp::SISO::set_constellation(), itpp::Packet_Channel::set_errors(), itpp::ACK_Channel::set_errors(), itpp::SISO::set_impulse_response(), itpp::SISO::set_impulse_response(), itpp::Turbo_Codec::set_parameters(), itpp::SISO::set_scrambler_pattern(), itpp::LFSR::set_state(), itpp::LFSR::set_state(), itpp::Convolutional_Code::set_truncation_length(), itpp::Scalar_Quantizer::size(), itpp::size(), itpp::Spread_1d::spread(), itpp::sqr(), itpp::sum(), itpp::sum_sqr(), itpp::to(), itpp::to(), itpp::Vec< Num_T >::to_bvec(), itpp::to_cvec(), itpp::Vec< Num_T >::to_cvec(), itpp::Vec< Num_T >::to_cvec(), itpp::Vec< Num_T >::to_ivec(), itpp::Vec< Num_T >::to_svec(), itpp::to_vec(), itpp::Vec< Num_T >::to_vec(), itpp::Histogram< Num_T >::update(), itpp::upsample(), itpp::Turbo_Codec::wcdma_turbo_interleaver_sequence(), and itpp::GF2mat_sparse_alist::write().

## set_size()

template<class T >

void itpp::Array< T >::set_size | ( | int | n,
|  | bool | copy = `false`
| ) |  |

Resizing an Array<T>.

Definition at line 257 of file array.h.

References itpp::Array< T >::alloc(), itpp::Array< T >::data, itpp::destroy_elements(), itpp::Array< T >::free(), it_assert_debug, itpp::min(), itpp::Array< T >::ndata, and itpp::Array< T >::size().

Referenced by itpp::BCH::BCH(), itpp::bidiag(), itpp::bidiag(), itpp::LDPC_Code::bp_decode(), itpp::TDL_Channel::calc_frequency_response(), itpp::TDL_Channel::calc_frequency_response(), itpp::TDL_Channel::calc_impulse_response(), itpp::Convolutional_Code::calc_metric(), itpp::Modulator< T >::calculate_softbit_matrices(), itpp::Punctured_Convolutional_Code::catastrophic(), itpp::MOG_generic::cleanup(), itpp::MOG_generic::convert_to_diag_internal(), itpp::MOG_generic::convert_to_full_internal(), itpp::Cross_Interleaver< T >::Cross_Interleaver(), itpp::LDPC_Parity_Unstructured::cycle_removal_MGW(), itpp::Extended_Golay::decode(), itpp::Hamming_Code::decode(), itpp::BCH::decode(), itpp::Reed_Solomon::decode(), itpp::Turbo_Codec::decode(), itpp::Turbo_Codec::decode_block(), itpp::Turbo_Codec::decode_n3(), itpp::Convolutional_Code::decode_tail(), itpp::Convolutional_Code::decode_trunc(), itpp::Block_Interleaver< T >::deinterleave(), itpp::Cross_Interleaver< T >::deinterleave(), itpp::Sequence_Interleaver< T >::deinterleave(), itpp::Vec< Num_T >::del(), itpp::Vec< Num_T >::del(), itpp::Mat< Num_T >::del_col(), itpp::Mat< Num_T >::del_cols(), itpp::Mat< Num_T >::del_row(), itpp::Mat< Num_T >::del_rows(), itpp::Modulator< T >::demodulate(), itpp::QAM::demodulate_bits(), itpp::PSK::demodulate_bits(), itpp::BPSK_c::demodulate_bits(), itpp::PAM_c::demodulate_bits(), itpp::BPSK::demodulate_bits(), itpp::PAM::demodulate_bits(), itpp::Modulator< T >::demodulate_bits(), itpp::QPSK::demodulate_soft_bits(), itpp::BPSK_c::demodulate_soft_bits(), itpp::PAM_c::demodulate_soft_bits(), itpp::QPSK::demodulate_soft_bits(), itpp::BPSK_c::demodulate_soft_bits(), itpp::PAM_c::demodulate_soft_bits(), itpp::Modulator_NCD::demodulate_soft_bits(), itpp::BPSK::demodulate_soft_bits(), itpp::BPSK::demodulate_soft_bits(), itpp::Modulator_NRD::demodulate_soft_bits(), itpp::Modulator< T >::demodulate_soft_bits(), itpp::Modulator< T >::demodulate_soft_bits(), itpp::SISO::descrambler(), itpp::Spread_1d::despread(), itpp::dht(), itpp::diag(), itpp::TDL_Channel::discretize(), itpp::Convolutional_Code::distance_profile(), itpp::Punctured_Convolutional_Code::distance_profile(), itpp::Rec_Syst_Conv_Code::encode(), itpp::Turbo_Codec::encode(), itpp::Punctured_Turbo_Codec::encode(), itpp::BCH::encode(), itpp::Extended_Golay::encode(), itpp::Hamming_Code::encode(), itpp::Reed_Solomon::encode(), itpp::Convolutional_Code::encode_bit(), itpp::Turbo_Codec::encode_block(), itpp::Convolutional_Code::encode_tail(), itpp::Punctured_Convolutional_Code::encode_tail(), itpp::Rec_Syst_Conv_Code::encode_tail(), itpp::Convolutional_Code::encode_tailbite(), itpp::Punctured_Convolutional_Code::encode_tailbite(), itpp::Convolutional_Code::encode_trunc(), itpp::Punctured_Convolutional_Code::encode_trunc(), itpp::eye(), itpp::Convolutional_Code::fast(), itpp::Punctured_Convolutional_Code::fast(), itpp::Freq_Filt< Num_T >::filter(), itpp::find(), itpp::GF2mat_sparse_alist::from_sparse(), itpp::Sparse_Mat< T >::full(), itpp::Sparse_Vec< T >::full(), itpp::TDL_Channel::generate(), itpp::TDL_Channel::generate(), itpp::Independent_Fading_Generator::generate(), itpp::Circular_Buffer< T >::get(), itpp::Circular_Buffer< T >::get(), itpp::GF::GF(), itpp::GFX::GFX(), itpp::givens(), itpp::givens_t(), itpp::TDL_Channel::init(), itpp::Parser::init(), itpp::Parser::init(), itpp::Parser::init(), itpp::Modulator_NCD::init_soft_demodulator(), itpp::Modulator_NRD::init_soft_demodulator(), itpp::Vec< Num_T >::ins(), itpp::Vec< Num_T >::ins(), itpp::Mat< Num_T >::ins_col(), itpp::Mat< Num_T >::ins_row(), itpp::Sequence_Interleaver< T >::interleave(), itpp::lininterp(), itpp::lininterp(), itpp::Rec_Syst_Conv_Code::log_decode(), itpp::Rec_Syst_Conv_Code::log_decode(), itpp::Rec_Syst_Conv_Code::log_decode_n2(), itpp::Rec_Syst_Conv_Code::log_decode_n2(), itpp::it_ifile::low_level_read(), itpp::it_ifile_old::low_level_read(), itpp::it_ifile::low_level_read(), itpp::it_ifile::low_level_read(), itpp::it_ifile_old::low_level_read(), itpp::it_ifile::low_level_read(), itpp::it_ifile::low_level_read(), itpp::it_ifile::low_level_read(), itpp::it_ifile_old::low_level_read(), itpp::it_ifile::low_level_read(), itpp::it_ifile_old::low_level_read(), itpp::it_ifile::low_level_read(), itpp::it_ifile_old::low_level_read(), itpp::it_ifile::low_level_read(), itpp::it_ifile_old::low_level_read(), itpp::it_ifile::low_level_read(), itpp::it_ifile::low_level_read(), itpp::it_ifile::low_level_read_hi(), itpp::it_ifile_old::low_level_read_hi(), itpp::it_ifile::low_level_read_hi(), itpp::it_ifile_old::low_level_read_hi(), itpp::it_ifile::low_level_read_hi(), itpp::it_ifile_old::low_level_read_hi(), itpp::it_ifile::low_level_read_hi(), itpp::it_ifile_old::low_level_read_hi(), itpp::it_ifile::low_level_read_hi(), itpp::it_ifile_old::low_level_read_hi(), itpp::it_ifile::low_level_read_hi(), itpp::it_ifile_old::low_level_read_hi(), itpp::it_ifile::low_level_read_lo(), itpp::it_ifile_old::low_level_read_lo(), itpp::it_ifile_old::low_level_read_lo(), itpp::it_ifile::low_level_read_lo(), itpp::it_ifile_old::low_level_read_lo(), itpp::it_ifile_old::low_level_read_lo(), itpp::it_ifile::low_level_read_lo(), itpp::it_ifile_old::low_level_read_lo(), itpp::it_ifile::low_level_read_lo(), itpp::it_ifile_old::low_level_read_lo(), itpp::it_ifile::low_level_read_lo(), itpp::it_ifile_old::low_level_read_lo(), itpp::it_ifile::low_level_read_lo(), itpp::it_ifile_old::low_level_read_lo(), itpp::Rec_Syst_Conv_Code::map_decode(), itpp::max(), itpp::max(), itpp::min(), itpp::min(), itpp::MOG_diag_EM_sup::ml(), itpp::Modulator< T >::modulate(), itpp::BPSK_c::modulate_bits(), itpp::Modulator_NCD::modulate_bits(), itpp::BPSK::modulate_bits(), itpp::Modulator_NRD::modulate_bits(), itpp::Modulator< T >::modulate_bits(), itpp::mxArray2bmat(), itpp::mxArray2bvec(), itpp::mxArray2cmat(), itpp::mxArray2cvec(), itpp::mxArray2imat(), itpp::mxArray2ivec(), itpp::mxArray2mat(), itpp::mxArray2smat(), itpp::mxArray2svec(), itpp::mxArray2vec(), itpp::Vec< Num_T >::operator()(), itpp::GFX::operator*=(), itpp::GFX::operator+=(), itpp::Mat< Num_T >::operator-=(), itpp::Array< T >::operator=(), itpp::Circular_Buffer< T >::operator=(), itpp::Mat< Num_T >::operator=(), itpp::Vec< Num_T >::operator=(), itpp::Stack< T >::operator=(), itpp::Array< T >::operator=(), itpp::Mat< Num_T >::operator=(), itpp::Vec< Num_T >::operator=(), itpp::operator>>(), itpp::operator>>(), itpp::operator>>(), itpp::operator>>(), itpp::operator>>(), itpp::operator>>(), itpp::operator>>(), itpp::operator>>(), itpp::operator>>(), itpp::operator>>(), itpp::operator>>(), itpp::operator>>(), itpp::operator>>(), itpp::operator>>(), itpp::operator>>(), itpp::operator>>(), itpp::operator>>(), itpp::operator>>(), itpp::operator>>(), itpp::operator>>(), itpp::Array< T >::operator>>(), itpp::Circular_Buffer< T >::peek(), itpp::Circular_Buffer< T >::peek(), itpp::Circular_Buffer< T >::peek(), itpp::Circular_Buffer< T >::peek(), itpp::Circular_Buffer< T >::peek_reverse(), itpp::Circular_Buffer< T >::peek_reverse(), itpp::poly(), itpp::poly(), itpp::prod(), itpp::GF2mat_sparse_alist::read(), itpp::RNG_get_state(), itpp::MOG_diag_kmeans_sup::run(), itpp::Bernoulli_RNG::sample_matrix(), itpp::Complex_Normal_RNG::sample_matrix(), itpp::Uniform_RNG::sample_matrix(), itpp::Normal_RNG::sample_matrix(), itpp::Bernoulli_RNG::sample_vector(), itpp::Complex_Normal_RNG::sample_vector(), itpp::Uniform_RNG::sample_vector(), itpp::Normal_RNG::sample_vector(), itpp::Newton_Search::search(), itpp::Mat< Num_T >::set(), itpp::GFX::set(), itpp::GF::set(), itpp::TDL_Channel::set_channel_profile(), itpp::Channel_Specification::set_channel_profile(), itpp::MA_Filter< T1, T2, T3 >::set_coeffs(), itpp::GFX::set_degree(), itpp::MOG_generic::set_diag_covs_internal(), itpp::MOG_generic::set_diag_covs_unity_internal(), itpp::TDL_Channel::set_doppler_spectrum(), itpp::TDL_Channel::set_doppler_spectrum(), itpp::set_fix(), itpp::set_fix(), itpp::set_fix(), itpp::set_fix(), itpp::MOG_generic::set_full_covs_internal(), itpp::MOG_generic::set_full_covs_unity_internal(), itpp::Convolutional_Code::set_generator_polynomials(), itpp::Array< T >::set_length(), itpp::QAM::set_M(), itpp::PAM_c::set_M(), itpp::PAM::set_M(), itpp::ND_UPAM::set_M(), itpp::ND_UQAM::set_M(), itpp::ND_UPSK::set_M(), itpp::MOG_generic::set_means_zero_internal(), itpp::Cross_Interleaver< T >::set_order(), itpp::Raised_Cosine< T1 >::set_pulse_shape(), itpp::Root_Raised_Cosine< T1 >::set_pulse_shape(), itpp::GF::set_size(), itpp::MOG_generic::set_weights_uniform_internal(), itpp::Histogram< Num_T >::setup(), itpp::MOG_generic::setup_covs(), itpp::spectrum(), itpp::spectrum(), itpp::ND_UPAM::sphere_decoding(), itpp::Vec< Num_T >::split(), itpp::Spread_1d::spread(), itpp::sum(), itpp::sum_sqr(), itpp::TDL_Channel::TDL_Channel(), itpp::Sparse_Mat< T >::transpose(), itpp::tridiag(), itpp::tridiag(), itpp::upsample(), itpp::upsample(), itpp::Turbo_Codec::wcdma_turbo_interleaver_sequence(), itpp::xcorr(), and itpp::xcorr_old().

## set_length()

template<class T >

void itpp::Array< T >::set_length | ( | int | n,
|  | bool | copy = `false`
| ) |  |

inline

Resizing an Array<T>.

Definition at line 161 of file array.h.

References itpp::Array< T >::set_size().

Referenced by itpp::BCH::decode(), itpp::Reed_Solomon::decode(), itpp::Sequence_Interleaver< T >::deinterleave(), itpp::Block_Interleaver< T >::interleave(), itpp::Cross_Interleaver< T >::interleave(), and itpp::GF2mat::T_fact_update_addcol().

## shift_right() [1/2]

template<class T >

T itpp::Array< T >::shift_right | ( | const T & | e | ) |

Shift in data at position 0. Return data from the last position.

Definition at line 388 of file array.h.

References itpp::Array< T >::data, it_assert_debug, and itpp::Array< T >::ndata.

Referenced by itpp::LDPC_Code::integrity_check().

## shift_right() [2/2]

template<class T >

const Array< T > itpp::Array< T >::shift_right | ( | const Array< T > & | a | ) |

Shift in array at position 0. Return data from the last position.

Definition at line 403 of file array.h.

References itpp::Array< T >::data, it_assert_debug, and itpp::Array< T >::ndata.

## shift_left() [1/2]

template<class T >

T itpp::Array< T >::shift_left | ( | const T & | e | ) |

Shift in data at the last position. Return data from position 0.

Definition at line 419 of file array.h.

References itpp::Array< T >::data, and itpp::Array< T >::ndata.

## shift_left() [2/2]

template<class T >

const Array< T > itpp::Array< T >::shift_left | ( | const Array< T > & | a | ) |

Shift in array at the last position. Return data from position 0.

Definition at line 431 of file array.h.

References itpp::Array< T >::data, it_assert_debug, and itpp::Array< T >::ndata.

## swap()

template<class T >

void itpp::Array< T >::swap | ( | int | i,
|  | int | j
| ) |  |

Swap elements i and j.

Definition at line 447 of file array.h.

References itpp::Array< T >::data, itpp::Array< T >::in_range(), and it_assert_debug.

## set_subarray() [1/2]

template<class T >

void itpp::Array< T >::set_subarray | ( | int | i1,
|  | int | i2,
|  | const Array< T > & | a
| ) |  |

Set the subarray defined by indicies i1 to i2 to Array<T> a.

Definition at line 458 of file array.h.

References itpp::Array< T >::data, itpp::Array< T >::in_range(), it_assert_debug, and itpp::Array< T >::ndata.

## set_subarray() [2/2]

template<class T >

void itpp::Array< T >::set_subarray | ( | int | i1,
|  | int | i2,
|  | const T & | t
| ) |  |

Set the subarray defined by indicies i1 to i2 the element value t.

Definition at line 472 of file array.h.

References itpp::Array< T >::data, itpp::Array< T >::in_range(), it_assert_debug, and itpp::Array< T >::ndata.

## alloc()

template<class T >

void itpp::Array< T >::alloc | ( | int | n | ) |

inline protected

Allocate storage for an array of length `n`.

Definition at line 197 of file array.h.

References itpp::create_elements(), itpp::Array< T >::data, itpp::Array< T >::factory, and itpp::Array< T >::ndata.

Referenced by itpp::Array< T >::Array(), itpp::Array< T >::Array(), itpp::Circular_Buffer< T >::Circular_Buffer(), itpp::Circular_Buffer< T >::Circular_Buffer(), itpp::Vec< Num_T >::operator+=(), itpp::Vec< Num_T >::operator-=(), itpp::Sparse_Mat< T >::operator=(), itpp::Sparse_Vec< T >::operator=(), itpp::Sparse_Vec< T >::operator=(), itpp::Sparse_Vec< T >::resize_data(), itpp::Array< T >::set_size(), itpp::Circular_Buffer< T >::set_size(), itpp::Stack< T >::set_size(), itpp::Mat< Num_T >::set_size(), itpp::Sparse_Mat< T >::set_size(), itpp::Vec< Num_T >::set_size(), itpp::Sparse_Vec< T >::set_size(), itpp::Sparse_Mat< T >::Sparse_Mat(), itpp::Sparse_Mat< T >::Sparse_Mat(), itpp::Sparse_Mat< T >::Sparse_Mat(), itpp::Sparse_Vec< T >::Sparse_Vec(), itpp::Sparse_Vec< T >::Sparse_Vec(), itpp::Sparse_Vec< T >::Sparse_Vec(), itpp::Sparse_Vec< T >::Sparse_Vec(), itpp::Stack< T >::Stack(), and itpp::Stack< T >::Stack().

## free()

template<class T >

void itpp::Array< T >::free | ( |  | ) |

inline protected

Free the storage space allocated by the array.

Definition at line 210 of file array.h.

References itpp::Array< T >::data, itpp::destroy_elements(), and itpp::Array< T >::ndata.

Referenced by itpp::Sparse_Mat< T >::operator=(), itpp::Sparse_Mat< T >::operator=(), itpp::Sparse_Vec< T >::operator=(), itpp::Sparse_Vec< T >::operator=(), itpp::Sparse_Vec< T >::resize_data(), itpp::Mat< Num_T >::set(), itpp::Array< T >::set_size(), itpp::Circular_Buffer< T >::set_size(), itpp::Stack< T >::set_size(), itpp::Mat< Num_T >::set_size(), itpp::Sparse_Mat< T >::set_size(), itpp::Vec< Num_T >::set_size(), itpp::Sparse_Vec< T >::set_size(), itpp::Array< T >::~Array(), itpp::Circular_Buffer< T >::~Circular_Buffer(), itpp::Mat< Num_T >::~Mat(), itpp::Sparse_Mat< T >::~Sparse_Mat(), itpp::Sparse_Vec< T >::~Sparse_Vec(), itpp::Stack< T >::~Stack(), and itpp::Vec< Num_T >::~Vec().

## in_range()

template<class T >

bool itpp::Array< T >::in_range | ( | int | i | ) | const

inline protected

Check whether index `i` is in the allowed range.

Definition at line 185 of file array.h.

References itpp::Array< T >::ndata.

Referenced by itpp::Vec< Num_T >::del(), itpp::Array< T >::left(), itpp::Array< T >::operator()(), itpp::Vec< Num_T >::operator()(), itpp::Array< T >::operator()(), itpp::Mat< Num_T >::operator()(), itpp::Array< T >::operator()(), itpp::Mat< Num_T >::operator()(), itpp::Array< T >::operator()(), itpp::Mat< Num_T >::operator()(), itpp::Mat< Num_T >::operator()(), itpp::Vec< Num_T >::operator[](), itpp::Vec< Num_T >::operator[](), itpp::Array< T >::right(), itpp::Vec< Num_T >::set(), itpp::Mat< Num_T >::set(), itpp::Array< T >::set_subarray(), itpp::Array< T >::set_subarray(), and itpp::Array< T >::swap().

## Friends And Related Symbol Documentation

## concat [1/4]

template<class T >

const Array< T > concat | ( | const Array< T > & | a1,
|  | const T & | e
| ) |  |

friend

Append element `e` to the end of the Array `a`.

Definition at line 486 of file array.h.

Referenced by itpp::Block_Interleaver< T >::deinterleave(), itpp::Cross_Interleaver< T >::deinterleave(), itpp::Sequence_Interleaver< T >::deinterleave(), itpp::Freq_Filt< Num_T >::filter(), itpp::Block_Interleaver< T >::interleave(), itpp::Cross_Interleaver< T >::interleave(), and itpp::Sequence_Interleaver< T >::interleave().

## concat [2/4]

template<class T >

const Array< T > concat | ( | const T & | e,
|  | const Array< T > & | a
| ) |  |

friend

Concat element `e` to the beginning of the Array `a`.

Definition at line 498 of file array.h.

## concat [3/4]

template<class T >

const Array< T > concat | ( | const Array< T > & | a1,
|  | const Array< T > & | a2
| ) |  |

friend

Concat Arrays `a1` and `a2`.

Definition at line 511 of file array.h.

## concat [4/4]

template<class T >

const Array< T > concat | ( | const Array< T > & | a1,
|  | const Array< T > & | a2,
|  | const Array< T > & | a3
| ) |  |

friend

Concat Arrays `a1`, `a2` and `a3`.

Definition at line 524 of file array.h.

## operator<<()

template<class T >

std::ostream & operator<< | ( | std::ostream & | os,
|  | const Array< T > & | a
| ) |  |

related

Output stream for Array<T>. T must have ostream operator<< defined.

Definition at line 545 of file array.h.

References itpp::Array< T >::size().

## operator>>()

template<class T >

std::istream & operator>> | ( | std::istream & | is,
|  | Array< T > & | a
| ) |  |

related

Input stream for Array<T>. T must have istream operator>> defined.

Definition at line 562 of file array.h.

References itpp::Array< T >::set_size(), and itpp::Array< T >::size().

## set_array() [1/2]

template<class T >

void set_array | ( | Array< T > & | a,
|  | const char * | values
| ) |  |

related

Assign a C-style string to an Array<T>. T must have istream operator>> defined.

Definition at line 600 of file array.h.

## set_array() [2/2]

template<class T >

void set_array | ( | Array< T > & | a,
|  | const std::string & | str
| ) |  |

related

Assign a string to an Array<T>. T must have istream operator>> defined.

Definition at line 612 of file array.h.

## Member Data Documentation

## ndata

template<class T >

int itpp::Array< T >::ndata

protected

The current number of elements in the Array.

Definition at line 187 of file array.h.

Referenced by itpp::Array< T >::alloc(), itpp::Array< T >::Array(), itpp::Array< T >::free(), itpp::Array< T >::in_range(), itpp::Array< T >::length(), itpp::Array< T >::mid(), itpp::Array< T >::operator()(), itpp::Array< T >::operator=(), itpp::Stack< T >::operator=(), itpp::Array< T >::operator=(), itpp::Stack< T >::push(), itpp::Array< T >::right(), itpp::Array< T >::set_size(), itpp::Stack< T >::set_size(), itpp::Array< T >::set_subarray(), itpp::Array< T >::set_subarray(), itpp::Array< T >::shift_left(), itpp::Array< T >::shift_left(), itpp::Array< T >::shift_right(), itpp::Array< T >::shift_right(), itpp::Array< T >::size(), itpp::Stack< T >::Stack(), and itpp::Stack< T >::Stack().

## data

template<class T >

T* itpp::Array< T >::data

protected

A pointer to the data area.

Definition at line 189 of file array.h.

Referenced by itpp::Sparse_Vec< T >::add(), itpp::Sparse_Vec< T >::add_elem(), itpp::Array< T >::alloc(), itpp::Mat< Num_T >::alloc(), itpp::Vec< Num_T >::alloc(), itpp::Array< T >::Array(), itpp::Sparse_Vec< T >::clear_elem(), itpp::GF2mat::concatenate_vertical(), itpp::Mat< Num_T >::copy_col(), itpp::Mat< Num_T >::copy_row(), itpp::Vec< Num_T >::del(), itpp::Vec< Num_T >::del(), itpp::Mat< Num_T >::del_col(), itpp::Mat< Num_T >::del_cols(), itpp::Mat< Num_T >::del_row(), itpp::Mat< Num_T >::del_rows(), itpp::Array< T >::free(), itpp::Mat< Num_T >::free(), itpp::Vec< Num_T >::free(), itpp::Sparse_Vec< T >::full(), itpp::Mat< Num_T >::get_col(), itpp::Mat< Num_T >::get_cols(), itpp::Mat< Num_T >::get_cols(), itpp::Mat< Num_T >::get_row(), itpp::Mat< Num_T >::get_rows(), itpp::Mat< Num_T >::get_rows(), itpp::Sparse_Vec< T >::get_subvector(), itpp::Mat< Num_T >::hermitian_transpose(), itpp::Vec< Num_T >::hermitian_transpose(), itpp::Vec< Num_T >::ins(), itpp::Vec< Num_T >::ins(), itpp::Mat< Num_T >::ins_col(), itpp::Mat< Num_T >::ins_row(), itpp::Sort< T >::intro_sort(), itpp::Sort< T >::intro_sort_index(), itpp::Array< T >::left(), itpp::Vec< Num_T >::left(), itpp::Mat< Num_T >::Mat(), itpp::Mat< Num_T >::Mat(), itpp::Array< T >::mid(), itpp::Vec< Num_T >::mid(), itpp::mxArray2string(), itpp::Mat< Num_T >::ones(), itpp::Vec< Num_T >::ones(), itpp::Mat< Num_T >::operator!=(), itpp::Vec< Num_T >::operator!=(), itpp::Vec< Num_T >::operator!=(), itpp::Array< T >::operator()(), itpp::Vec< Num_T >::operator()(), itpp::Vec< Num_T >::operator()(), itpp::Array< T >::operator()(), itpp::Mat< Num_T >::operator()(), itpp::Array< T >::operator()(), itpp::Mat< Num_T >::operator()(), itpp::Sparse_Vec< T >::operator()(), itpp::Array< T >::operator()(), itpp::Vec< Num_T >::operator()(), itpp::Mat< Num_T >::operator()(), itpp::Mat< Num_T >::operator()(), itpp::Mat< Num_T >::operator()(), itpp::Mat< Num_T >::operator*=(), itpp::Sparse_Vec< T >::operator*=(), itpp::Mat< Num_T >::operator*=(), itpp::Vec< Num_T >::operator*=(), itpp::Mat< Num_T >::operator+=(), itpp::Sparse_Vec< T >::operator+=(), itpp::Vec< Num_T >::operator+=(), itpp::Mat< Num_T >::operator+=(), itpp::Vec< Num_T >::operator+=(), itpp::Sparse_Vec< T >::operator-(), itpp::Mat< Num_T >::operator-=(), itpp::Sparse_Vec< T >::operator-=(), itpp::Vec< Num_T >::operator-=(), itpp::Mat< Num_T >::operator-=(), itpp::Vec< Num_T >::operator-=(), itpp::Mat< Num_T >::operator/=(), itpp::Sparse_Vec< T >::operator/=(), itpp::Vec< Num_T >::operator/=(), itpp::Mat< Num_T >::operator/=(), itpp::Vec< Num_T >::operator/=(), itpp::Vec< Num_T >::operator<(), itpp::Vec< Num_T >::operator<=(), itpp::Array< T >::operator=(), itpp::GF2mat::operator=(), itpp::Mat< Num_T >::operator=(), itpp::Vec< Num_T >::operator=(), itpp::Sparse_Vec< T >::operator=(), itpp::Stack< T >::operator=(), itpp::Array< T >::operator=(), itpp::Mat< Num_T >::operator=(), itpp::Vec< Num_T >::operator=(), itpp::Sparse_Vec< T >::operator=(), itpp::Mat< Num_T >::operator=(), itpp::Vec< Num_T >::operator=(), itpp::GF2mat::operator==(), itpp::Mat< Num_T >::operator==(), itpp::Sparse_Vec< T >::operator==(), itpp::Vec< Num_T >::operator==(), itpp::Vec< Num_T >::operator==(), itpp::Vec< Num_T >::operator>(), itpp::Vec< Num_T >::operator>=(), itpp::Vec< Num_T >::operator[](), itpp::Vec< Num_T >::operator[](), itpp::Stack< T >::peek(), itpp::GF2mat::permute_rows(), itpp::Stack< T >::pop(), itpp::Stack< T >::push(), itpp::Sparse_Vec< T >::remove_small_elements(), itpp::Sparse_Vec< T >::resize_data(), itpp::Array< T >::right(), itpp::Vec< Num_T >::right(), itpp::Vec< Num_T >::set(), itpp::Sparse_Vec< T >::set(), itpp::Mat< Num_T >::set(), itpp::Mat< Num_T >::set_col(), itpp::Mat< Num_T >::set_cols(), itpp::Sparse_Vec< T >::set_new(), itpp::Sparse_Vec< T >::set_new(), itpp::Mat< Num_T >::set_row(), itpp::Mat< Num_T >::set_rows(), itpp::Array< T >::set_size(), itpp::Stack< T >::set_size(), itpp::Mat< Num_T >::set_size(), itpp::Vec< Num_T >::set_size(), itpp::Array< T >::set_subarray(), itpp::Array< T >::set_subarray(), itpp::Mat< Num_T >::set_submatrix(), itpp::Mat< Num_T >::set_submatrix(), itpp::Vec< Num_T >::set_subvector(), itpp::Vec< Num_T >::set_subvector(), itpp::Array< T >::shift_left(), itpp::Array< T >::shift_left(), itpp::Vec< Num_T >::shift_left(), itpp::Vec< Num_T >::shift_left(), itpp::Array< T >::shift_right(), itpp::Array< T >::shift_right(), itpp::Vec< Num_T >::shift_right(), itpp::Vec< Num_T >::shift_right(), itpp::Sort< T >::sort(), itpp::Sort< T >::sort_index(), itpp::Sparse_Vec< T >::Sparse_Vec(), itpp::Sparse_Vec< T >::Sparse_Vec(), itpp::Sparse_Vec< T >::Sparse_Vec(), itpp::Vec< Num_T >::split(), itpp::Sparse_Vec< T >::sqr(), itpp::Stack< T >::Stack(), itpp::Stack< T >::Stack(), itpp::string2mxArray(), itpp::Array< T >::swap(), itpp::Mat< Num_T >::swap_cols(), itpp::Mat< Num_T >::swap_rows(), itpp::Mat< Num_T >::transpose(), itpp::Vec< Num_T >::transpose(), itpp::Vec< Num_T >::Vec(), itpp::Vec< Num_T >::Vec(), itpp::Sparse_Vec< T >::zero_elem(), itpp::Mat< Num_T >::zeros(), and itpp::Vec< Num_T >::zeros().

## factory

template<class T >

const Factory& itpp::Array< T >::factory

protected

Element factory (by default set to DEFAULT_FACTORY)

Definition at line 191 of file array.h.

Referenced by itpp::Array< T >::alloc(), itpp::Mat< Num_T >::alloc(), and itpp::Vec< Num_T >::alloc().

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

- itpp/base/array.h

Generated on Mon Apr 22 2024 09:45:27 for IT++ by Doxygen 1.9.8