GNU Octave  9.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
Range.cc File Reference
#include <cmath>
#include <istream>
#include <limits>
#include <ostream>
#include "Array-util.h"
#include "Range.h"
#include "lo-error.h"
#include "lo-mappers.h"
#include "lo-utils.h"

Go to the source code of this file.

Functions

template<typename T >
bool xall_elements_are_ints (T base, T inc, T final_val, octave_idx_type nel)
 
template<typename T >
xfinal_value (T base, T limit, T inc, octave_idx_type nel)
 
template<typename T >
void xinit (const octave_int< T > &base, const octave_int< T > &limit, const octave_int< T > &inc, bool reverse, octave_int< T > &final_val, octave_idx_type &nel)
 
template<typename T >
void xinit (T base, T limit, T inc, bool reverse, T &final_val, octave_idx_type &nel)
 
template<typename T >
bool xis_storable (T base, T limit, octave_idx_type nel)
 
template<typename T >
octave_idx_type xnnz (T base, T limit, T inc, T final_val, octave_idx_type nel)
 
template<typename T >
octave_idx_type xnumel_internal (T base, T limit, T inc)
 
template<typename T >
bool xteq (T u, T v, T ct=3 *std::numeric_limits< T >::epsilon())
 
template<typename T >
xtfloor (T x, T ct)
 

Function Documentation

◆ xall_elements_are_ints()

template<typename T >
bool xall_elements_are_ints ( base,
inc,
final_val,
octave_idx_type  nel 
)

Definition at line 139 of file Range.cc.

References isnan(), and nint_big().

Referenced by range< T, ENABLE >::all_elements_are_ints(), and xfinal_value().

◆ xfinal_value()

template<typename T >
T xfinal_value ( base,
limit,
inc,
octave_idx_type  nel 
)

Definition at line 161 of file Range.cc.

References round(), and xall_elements_are_ints().

Referenced by xinit().

◆ xinit() [1/2]

template<typename T >
void xinit ( const octave_int< T > &  base,
const octave_int< T > &  limit,
const octave_int< T > &  inc,
bool  reverse,
octave_int< T > &  final_val,
octave_idx_type nel 
)

Definition at line 265 of file Range.cc.

References octave_int< T >::value().

◆ xinit() [2/2]

template<typename T >
void xinit ( base,
limit,
inc,
bool  reverse,
T &  final_val,
octave_idx_type nel 
)

Definition at line 198 of file Range.cc.

References isinf(), isnan(), max(), NaN, xfinal_value(), and xnumel_internal().

Referenced by range< T, ENABLE >::init().

◆ xis_storable()

template<typename T >
bool xis_storable ( base,
limit,
octave_idx_type  nel 
)

Definition at line 301 of file Range.cc.

References isinf().

Referenced by range< T, ENABLE >::is_storable().

◆ xnnz()

template<typename T >
octave_idx_type xnnz ( base,
limit,
inc,
final_val,
octave_idx_type  nel 
)

Definition at line 352 of file Range.cc.

References mod().

Referenced by range< T, ENABLE >::nnz().

◆ xnumel_internal()

template<typename T >
octave_idx_type xnumel_internal ( base,
limit,
inc 
)

Definition at line 86 of file Range.cc.

References isfinite(), isinf(), isnan(), max(), xteq(), and xtfloor().

Referenced by xinit().

◆ xteq()

template<typename T >
bool xteq ( u,
v,
ct = 3 * std::numeric_limits<T>::epsilon () 
)

Definition at line 76 of file Range.cc.

Referenced by xnumel_internal().

◆ xtfloor()

template<typename T >
T xtfloor ( x,
ct 
)

Definition at line 45 of file Range.cc.

References floor(), and x.

Referenced by xnumel_internal().