view etc/gdbinit @ 32062:ada96a467a28

quiver: Improve plotting with non-float numeric inputs (bug #59695) * scripts/plot/draw/private/__quiver__.m: Change firstnonnumeric check to look for char instead of numeric to allow for logical inputs. Recast all inputs up to firstnonnumeric as doubles. Check if firstnonnumeric element is 'off' and if so set scale factor to 0 and increment firstnonnumeric. * scripts/plot/draw/quiver.m: Update docstring to include scaling factor option 'off'. Add BIST for int and logical input types. * scripts/plot/draw/quiver3.m: Update docstring to include scaling factor option 'off'. Add BISTs for too-few inputs. * etc/NEWS.9.md: Appended details of changes to quiver note under General Improvements and noted it also applies to quiver3.
author Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
date Wed, 26 Apr 2023 17:18:50 -0400
parents 597f3ee61a48
children 2e484f9f1f18
line wrap: on
line source

########################################################################
##
## Copyright (C) 2010-2023 The Octave Project Developers
##
## See the file COPYRIGHT.md in the top-level directory of this
## distribution or <https://octave.org/copyright/>.
##
## This file is part of Octave.
##
## Octave is free software: you can redistribute it and/or modify it
## under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## Octave is distributed in the hope that it will be useful, but
## WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with Octave; see the file COPYING.  If not, see
## <https://www.gnu.org/licenses/>.
##
########################################################################

############################################################
## 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.

## Programming Note: Don't strip the trailing space from the lines that
## end with '\ '.  GDB strips spaces from the ends of the lines, so
## these are required to preserve the whitespace.

############################################################
## Display a dim-vector object.

define display-dims
  echo ndims: \ 
  output $arg0.m_num_dims
  echo \ndims: \ 
  output *$arg0.m_dims@$arg0.m_num_dims
  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.m_dimensions
  echo \nrep = \ 
  output *$arg0.m_rep
  echo \nrep.data = \ 
  output *$arg0.m_rep.m_data@$arg0.m_rep.m_len
  echo \nrep.slice_data = \ 
  output *$arg0.m_slice_data@$arg0.m_slice_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:\n 
  display-dims $arg0.m_dimensions
  echo \nrep = \ 
  output *$arg0.m_rep
  echo \nrep.data = \ 
  output *$arg0.m_rep.m_data@$arg0.m_rep.m_nzmax
  echo \nrep.ridx = \ 
  output *$arg0.m_rep.m_ridx@$arg0.m_rep.m_nzmax
  echo \nrep.cidx = \ 
  output *$arg0.m_rep.m_cidx@($arg0.m_rep.m_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