#include "Range.h"
Protected Member Functions | |
Range (double b, double l, double i, octave_idx_type n) | |
Private Member Functions | |
void | clear_cache (void) const |
void | init (void) |
double | limit_internal (void) const |
octave_idx_type | numel_internal (void) const |
Private Attributes | |
Matrix | cache |
double | rng_base |
double | rng_inc |
double | rng_limit |
octave_idx_type | rng_numel |
Friends | |
OCTAVE_API Range | operator* (double x, const Range &r) |
OCTAVE_API Range | operator* (const Range &r, double x) |
OCTAVE_API Range | operator+ (double x, const Range &r) |
OCTAVE_API Range | operator+ (const Range &r, double x) |
OCTAVE_API Range | operator- (const Range &r) |
OCTAVE_API Range | operator- (double x, const Range &r) |
OCTAVE_API Range | operator- (const Range &r, double x) |
OCTAVE_API std::ostream & | operator<< (std::ostream &os, const Range &r) |
OCTAVE_API std::istream & | operator>> (std::istream &is, Range &r) |
|
inline |
Definition at line 61 of file Range.h.
References b, i, and octave::math::isfinite().
|
inlineprotected |
Definition at line 177 of file Range.h.
References b, i, and octave::math::isfinite().
bool Range::all_elements_are_ints | ( | void | ) | const |
Definition at line 39 of file Range.cc.
References octave::math::isnan(), octave::math::nint_big(), rng_base, rng_inc, and rng_numel.
Referenced by octave::jit_range::all_elements_are_ints(), do_rand(), elem_xpow(), idx_vector::idx_range_rep::idx_range_rep(), octave_range::index_vector(), and make_format().
|
inline |
Definition at line 78 of file Range.h.
Referenced by octave_range::complex_value(), do_rand(), octave_range::double_value(), elem_xpow(), octave_range::float_complex_value(), octave_range::float_value(), idx_vector::idx_range_rep::idx_range_rep(), image_region::image_region(), octave_range::is_true(), make_format(), octave_print_internal(), operator*(), operator+(), operator-(), octave_range::save_ascii(), octave_range::save_binary(), octave_range::save_hdf5(), save_mat_binary_data(), octave_range::short_disp(), and octave_range::try_narrowing_conversion().
double Range::checkelem | ( | octave_idx_type | i | ) | const |
Definition at line 106 of file Range.cc.
References octave::err_index_out_of_range(), i, rng_base, rng_inc, rng_limit, and rng_numel.
Referenced by checkelem().
double Range::checkelem | ( | octave_idx_type | i, |
octave_idx_type | j | ||
) | const |
Definition at line 122 of file Range.cc.
References checkelem(), octave::err_index_out_of_range(), i, and rng_numel.
|
inlineprivate |
Definition at line 172 of file Range.h.
References Matrix::resize().
Referenced by init(), and sort_internal().
|
inline |
|
inline |
Matrix Range::diag | ( | octave_idx_type | k = 0 | ) | const |
Definition at line 290 of file Range.cc.
References Matrix::diag(), k, and matrix_value().
Referenced by octave_range::diag().
double Range::elem | ( | octave_idx_type | i | ) | const |
Definition at line 131 of file Range.cc.
References i, rng_base, rng_inc, rng_limit, and rng_numel.
Referenced by octave_range::do_index_op(), octave_range::edit_display(), octave_range::fast_elem_extract(), octave_print_internal(), and octave::tree_evaluator::visit_simple_for_command().
|
inline |
|
inline |
Definition at line 80 of file Range.h.
Referenced by do_rand(), elem_xpow(), idx_vector::idx_range_rep::idx_range_rep(), image_region::image_region(), octave_print_internal(), operator*(), operator+(), operator-(), octave_range::save_ascii(), octave_range::save_binary(), octave_range::save_hdf5(), save_mat_binary_data(), and octave_range::short_disp().
Array< double > Range::index | ( | const idx_vector & | i | ) | const |
Definition at line 166 of file Range.cc.
References octave::err_index_out_of_range(), i, dim_vector::isvector(), matrix_value(), MArray< T >::reshape(), retval, rng_base, rng_inc, rng_limit, and rng_numel.
Referenced by octave_range::do_index_op().
|
private |
Definition at line 610 of file Range.cc.
References clear_cache(), limit_internal(), numel_internal(), rng_limit, and rng_numel.
Referenced by gzifstream::gzifstream(), gzofstream::gzofstream(), set_base(), set_inc(), and set_limit().
|
inline |
Definition at line 92 of file Range.h.
References numel().
Referenced by octave_range::is_true(), and nnz().
|
inline |
Definition at line 79 of file Range.h.
Referenced by elem_xpow(), octave_range::is_true(), make_format(), octave_print_internal(), operator*(), operator+(), operator-(), octave_range::save_ascii(), octave_range::save_binary(), octave_range::save_hdf5(), and octave_range::short_disp().
|
private |
Matrix Range::matrix_value | ( | void | ) | const |
Definition at line 84 of file Range.cc.
References b, cache, i, Array< T >::isempty(), Matrix::resize(), rng_base, rng_inc, rng_limit, and rng_numel.
Referenced by octave_range::all(), octave_range::any(), octave_range::as_int16(), octave_range::as_int32(), octave_range::as_int64(), octave_range::as_int8(), octave_range::as_single(), octave_range::as_uint16(), octave_range::as_uint32(), octave_range::as_uint64(), octave_range::as_uint8(), octave_range::bool_array_value(), octave_range::char_array_value(), octave_range::convert_to_str_internal(), diag(), octave_range::diag(), octave_range::do_index_op(), elem_xpow(), index(), octave_range::is_true(), operator*(), operator+(), operator-(), and octave_range::try_narrowing_conversion().
double Range::max | ( | void | ) | const |
Definition at line 224 of file Range.cc.
References retval, rng_base, rng_inc, rng_limit, and rng_numel.
Referenced by image_region::image_region(), and limit_internal().
double Range::min | ( | void | ) | const |
|
inline |
octave_idx_type Range::nnz | ( | void | ) | const |
|
inline |
Definition at line 85 of file Range.h.
Referenced by octave_range::complex_value(), octave_range::do_index_op(), do_rand(), octave_range::double_value(), elem_xpow(), octave_range::fast_elem_extract(), octave_range::float_complex_value(), octave_range::float_value(), image_region::image_region(), octave::octave_jit_compute_nelem(), octave_print_internal(), operator*(), operator+(), operator-(), octave_range::print_name_tag(), octave_range::save_ascii(), octave_range::save_binary(), octave_range::save_hdf5(), save_mat_binary_data(), octave_range::short_disp(), sort_internal(), octave::tree_jit::trip_count(), octave_range::try_narrowing_conversion(), and octave::tree_evaluator::visit_simple_for_command().
|
private |
|
inline |
|
inline |
|
inline |
void Range::set_base | ( | double | b | ) |
void Range::set_inc | ( | double | i | ) |
void Range::set_limit | ( | double | l | ) |
Range Range::sort | ( | octave_idx_type | dim = 0 , |
sortmode | mode = ASCENDING |
||
) | const |
Range Range::sort | ( | Array< octave_idx_type > & | sidx, |
octave_idx_type | dim = 0 , |
||
sortmode | mode = ASCENDING |
||
) | const |
void Range::sort_internal | ( | bool | ascending = true | ) |
void Range::sort_internal | ( | Array< octave_idx_type > & | sidx, |
bool | ascending = true |
||
) |
Definition at line 262 of file Range.cc.
References clear_cache(), Array< T >::fortran_vec(), i, numel(), Array< T >::resize(), rng_base, rng_inc, rng_limit, swap, and tmp.
|
friend |
|
friend |
|
mutableprivate |
Definition at line 164 of file Range.h.
Referenced by matrix_value().
|
private |
Definition at line 158 of file Range.h.
Referenced by all_elements_are_ints(), checkelem(), elem(), index(), matrix_value(), max(), min(), nnz(), numel_internal(), set_base(), and sort_internal().
|
private |
Definition at line 160 of file Range.h.
Referenced by all_elements_are_ints(), checkelem(), elem(), index(), issorted(), limit_internal(), matrix_value(), max(), min(), nnz(), numel_internal(), set_inc(), and sort_internal().
|
private |
Definition at line 159 of file Range.h.
Referenced by checkelem(), elem(), index(), init(), limit_internal(), matrix_value(), max(), min(), nnz(), numel_internal(), set_limit(), and sort_internal().
|
private |
Definition at line 162 of file Range.h.
Referenced by all_elements_are_ints(), checkelem(), elem(), index(), init(), issorted(), matrix_value(), max(), min(), and nnz().