23 #if defined (HAVE_CONFIG_H)
90 #if defined (OCTAVE_ENABLE_BOUNDS_CHECK)
214 || (! ascending && rng_base < rng_limit && rng_inc > 0.0))
231 bool reverse =
false;
234 || (! ascending && rng_base < rng_limit && rng_inc > 0.0))
269 (*current_liboctave_error_handler) (
"Range::sort: invalid dimension");
288 (*current_liboctave_error_handler) (
"Range::sort: invalid dimension");
342 double b = a.
base ();
343 double increment = a.
inc ();
351 os << b +
i * increment <<
" ";
366 double tmp_rng_limit;
487 double rmax = q / (2.0 - ct);
490 t1 = (ct / q) * (t1 < 0.0 ? -t1 : t1);
491 t1 = rmax < t1 ? rmax : t1;
492 t1 = ct > t1 ? ct : t1;
495 if (x <= 0.0 || (t1 - x) < rmax)
509 double ct = 3.0 * std::numeric_limits<double>::epsilon ())
511 double tu = fabs (u);
512 double tv = fabs (v);
514 return fabs (u - v) < ((tu > tv ? tu : tv) * ct);
524 || (rng_limit < rng_base && rng_inc > 0))
530 double ct = 3.0 * std::numeric_limits<double>::epsilon ();
Matrix diag(octave_idx_type k=0) const
static bool teq(double u, double v, double ct=3.0 *std::numeric_limits< double >::epsilon())
bool is_empty(void) const
std::ostream & operator<<(std::ostream &os, const Range &a)
octave_idx_type length(octave_idx_type n=0) const
void resize(octave_idx_type nr, octave_idx_type nc, double rfv=0)
bool is_vector(void) const
Range operator-(const Range &r)
Return the CPU time used by your Octave session The first output is the total time spent executing your process and is equal to the sum of second and third which are the number of CPU seconds spent executing in user mode and the number of CPU seconds spent executing in system mode
Range operator+(double x, const Range &r)
void err_index_out_of_range(int nd, int dim, octave_idx_type idx, octave_idx_type ext)
double limit_internal(void) const
void operator()(octave_idx_type i)
calling an anonymous function involves an overhead quite comparable to the overhead of an m file function Passing a handle to a built in function is because the interpreter is not involved in the internal loop For a
Range sort(octave_idx_type dim=0, sortmode mode=ASCENDING) const
void loop(octave_idx_type n, Functor body) const
dim_vector orig_dimensions(void) const
void sort_internal(bool ascending=true)
Range operator*(double x, const Range &r)
octave_idx_type numel(void) const
Matrix diag(octave_idx_type k=0) const
void resize(const dim_vector &dv, const T &rfv)
double elem(octave_idx_type i) const
std::istream & operator>>(std::istream &is, Range &a)
sortmode is_sorted(sortmode mode=ASCENDING) const
Matrix matrix_value(void) const
octave_idx_type rng_numel
With real return the complex result
charNDArray max(char d, const charNDArray &m)
Array< double > index(const idx_vector &i) const
octave_idx_type extent(octave_idx_type n) const
=val(i)}if ode{val(i)}occurs in table i
octave_idx_type nint_big(double x)
static double tfloor(double x, double ct)
bool all_elements_are_ints(void) const
octave_idx_type numel_internal(void) const
const T * fortran_vec(void) const
MArray< T > reshape(const dim_vector &new_dims) const
double checkelem(octave_idx_type i) const
write the output to stdout if nargout is
static double tceil(double x, double ct)
Vector representing the dimensions (size) of an Array.
__rangeidx_helper(double *a, double b, double i, double l, octave_idx_type n)
F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T const F77_REAL const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T F77_REAL F77_REAL &F77_RET_T F77_DBLE F77_DBLE &F77_RET_T const F77_DBLE * x
bool is_colon(void) const
void clear_cache(void) const