GNU Octave
4.2.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
|
#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 octave::math::finite().
|
inlineprotected |
Definition at line 155 of file Range.h.
References octave::math::finite().
bool Range::all_elements_are_ints | ( | void | ) | const |
Definition at line 40 of file Range.cc.
References octave::math::isnan(), octave::math::nint_big(), rng_base, rng_inc, and rng_numel.
Referenced by jit_range::all_elements_are_ints(), do_rand(), elem_xpow(), idx_vector::idx_range_rep::idx_range_rep(), octave_range::index_vector(), and set_format().
|
inline |
Definition at line 78 of file Range.h.
Referenced by calculate_region(), 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(), octave_range::is_true(), octave_print_internal(), operator*(), operator+(), operator-(), operator<<(), octave_range::save_ascii(), octave_range::save_binary(), octave_range::save_hdf5(), save_mat_binary_data(), set_format(), octave_range::short_disp(), and octave_range::try_narrowing_conversion().
double Range::checkelem | ( | octave_idx_type | i | ) | const |
|
inlineprivate |
Definition at line 150 of file Range.h.
References Matrix::resize().
Referenced by init(), and sort_internal().
Matrix Range::diag | ( | octave_idx_type | k = 0 | ) | const |
Definition at line 251 of file Range.cc.
References Matrix::diag(), and matrix_value().
Referenced by octave_range::diag().
double Range::elem | ( | octave_idx_type | i | ) | const |
Definition at line 88 of file Range.cc.
References checkelem(), rng_base, rng_inc, rng_limit, and rng_numel.
Referenced by octave_range::do_index_op(), octave_range::fast_elem_extract(), and octave::tree_evaluator::visit_simple_for_command().
|
inline |
Definition at line 80 of file Range.h.
Referenced by calculate_region(), do_minmax_body(), do_rand(), elem_xpow(), idx_vector::idx_range_rep::idx_range_rep(), octave_print_internal(), operator*(), operator+(), operator-(), operator<<(), passb(), passf(), octave_range::save_ascii(), octave_range::save_binary(), octave_range::save_hdf5(), save_mat_binary_data(), octave_range::short_disp(), zpassb(), and zpassf().
Array< double > Range::index | ( | const idx_vector & | i | ) | const |
Definition at line 127 of file Range.cc.
References Array< T >::clear(), octave::err_index_out_of_range(), idx_vector::extent(), Array< T >::fortran_vec(), idx_vector::is_colon(), dim_vector::is_vector(), idx_vector::length(), idx_vector::loop(), matrix_value(), idx_vector::orig_dimensions(), MArray< T >::reshape(), retval, rng_base, rng_inc, rng_limit, and rng_numel.
Referenced by octave_range::do_index_op().
|
private |
Definition at line 577 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 |
|
inline |
Definition at line 79 of file Range.h.
Referenced by dqagi(), elem_xpow(), octave_range::is_true(), octave_print_internal(), operator*(), operator+(), operator-(), octave_range::save_ascii(), octave_range::save_binary(), octave_range::save_hdf5(), set_format(), and octave_range::short_disp().
|
private |
Matrix Range::matrix_value | ( | void | ) | const |
Definition at line 52 of file Range.cc.
References b, cache, Array< T >::is_empty(), 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 185 of file Range.cc.
References retval, rng_base, rng_inc, rng_limit, and rng_numel.
Referenced by calculate_region(), do_minmax_body(), and limit_internal().
double Range::min | ( | void | ) | const |
Definition at line 164 of file Range.cc.
References retval, rng_base, rng_inc, rng_limit, and rng_numel.
Referenced by do_minmax_body(), and limit_internal().
|
inline |
|
inline |
Definition at line 85 of file Range.h.
Referenced by calculate_region(), octave_range::complex_value(), octave_range::do_index_op(), do_minmax_body(), do_rand(), octave_range::double_value(), elem_xpow(), octave_range::fast_elem_extract(), octave_range::float_complex_value(), octave_range::float_value(), octave_jit_compute_nelem(), octave_print_internal(), operator*(), 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(), tree_jit::trip_count(), octave_range::try_narrowing_conversion(), and octave::tree_evaluator::visit_simple_for_command().
|
private |
void Range::set_base | ( | double | b | ) |
void Range::set_inc | ( | double | i | ) |
void Range::set_limit | ( | double | l | ) |
Definition at line 318 of file Range.cc.
References init(), and rng_limit.
Referenced by operator>>().
Range Range::sort | ( | octave_idx_type | dim = 0 , |
sortmode | mode = ASCENDING |
||
) | const |
Definition at line 257 of file Range.cc.
References ASCENDING, DESCENDING, retval, and sort_internal().
Range Range::sort | ( | Array< octave_idx_type > & | sidx, |
octave_idx_type | dim = 0 , |
||
sortmode | mode = ASCENDING |
||
) | const |
Definition at line 275 of file Range.cc.
References ASCENDING, DESCENDING, retval, and sort_internal().
void Range::sort_internal | ( | bool | ascending = true | ) |
void Range::sort_internal | ( | Array< octave_idx_type > & | sidx, |
bool | ascending = true |
||
) |
Definition at line 223 of file Range.cc.
References clear_cache(), Array< T >::fortran_vec(), numel(), Array< T >::resize(), rng_base, rng_inc, rng_limit, swap, and tmp.
|
friend |
|
friend |
|
mutableprivate |
Definition at line 142 of file Range.h.
Referenced by matrix_value().
|
private |
Definition at line 136 of file Range.h.
Referenced by all_elements_are_ints(), checkelem(), elem(), index(), matrix_value(), max(), min(), numel_internal(), operator>>(), set_base(), and sort_internal().
|
private |
Definition at line 138 of file Range.h.
Referenced by all_elements_are_ints(), checkelem(), elem(), index(), is_sorted(), limit_internal(), matrix_value(), max(), min(), numel_internal(), operator>>(), set_inc(), and sort_internal().
|
private |
Definition at line 137 of file Range.h.
Referenced by checkelem(), elem(), index(), init(), limit_internal(), matrix_value(), max(), min(), numel_internal(), operator<<(), set_limit(), and sort_internal().
|
private |
Definition at line 140 of file Range.h.
Referenced by all_elements_are_ints(), checkelem(), elem(), index(), init(), is_sorted(), matrix_value(), max(), and min().