Mercurial > octave-nkf
view etc/gdbinit @ 20548:96153b16febe
Overhaul Range object in liboctave.
* Range.h (Range (b, l), Range (b, l, i)): For 2- or 3-element form of
constructor, set internal rng_limit equal to actual limit of range object.
* Range.h (set_base, set_limit, set_inc): Change to prototypes only.
Implementation moved to Range.cc
* Range.cc (matrix_value): Return rng_base for first element, rng_limit for
last element.
* Range.cc (checkelem, elem, index): Simplify functions by returning rng_limit
for last element.
* Range.cc (sort_internal (bool), sort_internal (Array<octave_idx_t>, bool)):
Simplify functions by simply swapping rng_base and rng_limit when sorting a
range in the opposite direction.
* Range.cc (operator <<): Simplify function by returning rng_limit for last
element.
* Range.cc (operator >>): Fix input stream operator so a correctly sync'ed
range object is created with the correct rng_limit and rng_numel.
* Range.cc (set_base, set_inc): Update rng_numel by calling numel_internal ()
after changing base or increment so that range object is correctly in sync with
itself. Clip rng_limit to true limit of data after base or inc has been set.
* Range.h (set_limit): Update rng_numel after changing internal rng_limit.
Clip rng_limit to actual limit of range object.
author | Rik <rik@octave.org> |
---|---|
date | Fri, 25 Sep 2015 16:15:14 -0700 |
parents | 446c46af4b42 |
children |
line wrap: on
line source
## Disable the next line if you really need to see the ## thread create/exit messages. set print thread-events off ## Helpful macros for debugging Octave. ############################################################ ## Display a dim-vector object. define display-dims echo ndims: \ output $arg0.rep[-1] echo \ndims: \ output *$arg0.rep@$arg0.rep[-1] echo \n dont-repeat end document display-dims Usage: display-dims DIM_VECTOR Display the contents of an Octave dimension vector. end ############################################################ ## Display a dense array object. define display-dense-array echo array object: \ output $arg0 echo \ndimensions:\n display-dims $arg0.dimensions echo \nrep = \ output *$arg0.rep echo \nrep.data = \ output *$arg0.rep.data@$arg0.rep.len echo \n dont-repeat end document display-dense-array Usage: display-dense-array ARRAY Display the contents of an ordinary, i.e., dense Octave array. See also [display-sparse-array] for showing the contents of sparse Octave arrays. end ############################################################ ## Display a sparse array object. define display-sparse-array echo sparse object: \ output $arg0 echo \ndimensions.rep[0] = \ display-dims $arg0.dimensions echo \ndimensions.rep[1] = \ output $arg0.dimensions.rep[1] echo \nrep = \ output *$arg0.rep echo \nrep.d = \ output *$arg0.rep.d@$arg0.rep.nzmx echo \nrep.r = \ output *$arg0.rep.r@$arg0.rep.nzmx echo \nrep.c = \ output *$arg0.rep.c@($arg0.rep.ncols+1) echo \n dont-repeat end document display-sparse-array Usage: display-sparse-array SPARSE_ARRAY Display the contents of a sparse Octave array. See also [display-dense-array] for showing the contents of ordinary Octave arrays. end ############################################################ ## Display Octave debugging stack define show-octave-dbstack call show_octave_dbstack () end document show-octave-dbstack Usage: show-octave-dbstack Display the contents of the current Octave debugging stack. This is the function stack that the Octave interpreter is processing and will be different from the C++ stack being debugged with gdb. end