? octave/Makeconf
? octave/Makefile
? octave/Makefrag.f77
? octave/autom4te.cache
? octave/config.h
? octave/config.h.in
? octave/config.log
? octave/config.status
? octave/configure
? octave/install-octave
? octave/mkoctfile
? octave/octMakefile
? octave/octave-bug
? octave/octave-config
? octave/octave-core
? octave/dlfcn/Makefile
? octave/doc/Makefile
? octave/doc/faq/Makefile
? octave/doc/faq/Octave-FAQ.aux
? octave/doc/faq/Octave-FAQ.cp
? octave/doc/faq/Octave-FAQ.cps
? octave/doc/faq/Octave-FAQ.dvi
? octave/doc/faq/Octave-FAQ.fn
? octave/doc/faq/Octave-FAQ.html
? octave/doc/faq/Octave-FAQ.info
? octave/doc/faq/Octave-FAQ.ky
? octave/doc/faq/Octave-FAQ.log
? octave/doc/faq/Octave-FAQ.pg
? octave/doc/faq/Octave-FAQ.ps
? octave/doc/faq/Octave-FAQ.toc
? octave/doc/faq/Octave-FAQ.tp
? octave/doc/faq/Octave-FAQ.vr
? octave/doc/faq/Octave-FAQ_1.html
? octave/doc/faq/Octave-FAQ_10.html
? octave/doc/faq/Octave-FAQ_11.html
? octave/doc/faq/Octave-FAQ_12.html
? octave/doc/faq/Octave-FAQ_2.html
? octave/doc/faq/Octave-FAQ_3.html
? octave/doc/faq/Octave-FAQ_4.html
? octave/doc/faq/Octave-FAQ_5.html
? octave/doc/faq/Octave-FAQ_6.html
? octave/doc/faq/Octave-FAQ_7.html
? octave/doc/faq/Octave-FAQ_8.html
? octave/doc/faq/Octave-FAQ_9.html
? octave/doc/faq/Octave-FAQ_abt.html
? octave/doc/faq/Octave-FAQ_fot.html
? octave/doc/faq/Octave-FAQ_ovr.html
? octave/doc/faq/Octave-FAQ_toc.html
? octave/doc/interpreter/Makefile
? octave/doc/interpreter/arith.texi
? octave/doc/interpreter/audio.texi
? octave/doc/interpreter/basics.texi
? octave/doc/interpreter/bugs.texi
? octave/doc/interpreter/container.texi
? octave/doc/interpreter/control.texi
? octave/doc/interpreter/cp-idx.texi
? octave/doc/interpreter/data.texi
? octave/doc/interpreter/debug.texi
? octave/doc/interpreter/diffeq.texi
? octave/doc/interpreter/emacs.texi
? octave/doc/interpreter/errors.texi
? octave/doc/interpreter/eval.texi
? octave/doc/interpreter/expr.texi
? octave/doc/interpreter/finance.texi
? octave/doc/interpreter/fn-idx.texi
? octave/doc/interpreter/func.texi
? octave/doc/interpreter/gpl.texi
? octave/doc/interpreter/grammar.texi
? octave/doc/interpreter/image.texi
? octave/doc/interpreter/install.texi
? octave/doc/interpreter/intro.texi
? octave/doc/interpreter/io.texi
? octave/doc/interpreter/linalg.texi
? octave/doc/interpreter/matrix.texi
? octave/doc/interpreter/munge-texi
? octave/doc/interpreter/nonlin.texi
? octave/doc/interpreter/numbers.texi
? octave/doc/interpreter/octave.aux
? octave/doc/interpreter/octave.cp
? octave/doc/interpreter/octave.cps
? octave/doc/interpreter/octave.dvi
? octave/doc/interpreter/octave.fn
? octave/doc/interpreter/octave.fns
? octave/doc/interpreter/octave.html
? octave/doc/interpreter/octave.info
? octave/doc/interpreter/octave.info-1
? octave/doc/interpreter/octave.info-10
? octave/doc/interpreter/octave.info-11
? octave/doc/interpreter/octave.info-12
? octave/doc/interpreter/octave.info-13
? octave/doc/interpreter/octave.info-14
? octave/doc/interpreter/octave.info-15
? octave/doc/interpreter/octave.info-16
? octave/doc/interpreter/octave.info-2
? octave/doc/interpreter/octave.info-3
? octave/doc/interpreter/octave.info-4
? octave/doc/interpreter/octave.info-5
? octave/doc/interpreter/octave.info-6
? octave/doc/interpreter/octave.info-7
? octave/doc/interpreter/octave.info-8
? octave/doc/interpreter/octave.info-9
? octave/doc/interpreter/octave.ky
? octave/doc/interpreter/octave.log
? octave/doc/interpreter/octave.op
? octave/doc/interpreter/octave.ops
? octave/doc/interpreter/octave.pg
? octave/doc/interpreter/octave.ps
? octave/doc/interpreter/octave.toc
? octave/doc/interpreter/octave.tp
? octave/doc/interpreter/octave.vr
? octave/doc/interpreter/octave.vrs
? octave/doc/interpreter/octave_1.html
? octave/doc/interpreter/octave_10.html
? octave/doc/interpreter/octave_11.html
? octave/doc/interpreter/octave_12.html
? octave/doc/interpreter/octave_13.html
? octave/doc/interpreter/octave_14.html
? octave/doc/interpreter/octave_15.html
? octave/doc/interpreter/octave_16.html
? octave/doc/interpreter/octave_17.html
? octave/doc/interpreter/octave_18.html
? octave/doc/interpreter/octave_19.html
? octave/doc/interpreter/octave_2.html
? octave/doc/interpreter/octave_20.html
? octave/doc/interpreter/octave_21.html
? octave/doc/interpreter/octave_22.html
? octave/doc/interpreter/octave_23.html
? octave/doc/interpreter/octave_24.html
? octave/doc/interpreter/octave_25.html
? octave/doc/interpreter/octave_26.html
? octave/doc/interpreter/octave_27.html
? octave/doc/interpreter/octave_28.html
? octave/doc/interpreter/octave_29.html
? octave/doc/interpreter/octave_3.html
? octave/doc/interpreter/octave_30.html
? octave/doc/interpreter/octave_31.html
? octave/doc/interpreter/octave_32.html
? octave/doc/interpreter/octave_33.html
? octave/doc/interpreter/octave_34.html
? octave/doc/interpreter/octave_35.html
? octave/doc/interpreter/octave_36.html
? octave/doc/interpreter/octave_37.html
? octave/doc/interpreter/octave_38.html
? octave/doc/interpreter/octave_39.html
? octave/doc/interpreter/octave_4.html
? octave/doc/interpreter/octave_40.html
? octave/doc/interpreter/octave_41.html
? octave/doc/interpreter/octave_42.html
? octave/doc/interpreter/octave_43.html
? octave/doc/interpreter/octave_44.html
? octave/doc/interpreter/octave_45.html
? octave/doc/interpreter/octave_46.html
? octave/doc/interpreter/octave_47.html
? octave/doc/interpreter/octave_48.html
? octave/doc/interpreter/octave_49.html
? octave/doc/interpreter/octave_5.html
? octave/doc/interpreter/octave_50.html
? octave/doc/interpreter/octave_51.html
? octave/doc/interpreter/octave_52.html
? octave/doc/interpreter/octave_53.html
? octave/doc/interpreter/octave_54.html
? octave/doc/interpreter/octave_6.html
? octave/doc/interpreter/octave_7.html
? octave/doc/interpreter/octave_8.html
? octave/doc/interpreter/octave_9.html
? octave/doc/interpreter/octave_abt.html
? octave/doc/interpreter/octave_fot.html
? octave/doc/interpreter/octave_ovr.html
? octave/doc/interpreter/octave_toc.html
? octave/doc/interpreter/op-idx.texi
? octave/doc/interpreter/optim.texi
? octave/doc/interpreter/plot.texi
? octave/doc/interpreter/poly.texi
? octave/doc/interpreter/preface.texi
? octave/doc/interpreter/quad.texi
? octave/doc/interpreter/quaternion.texi
? octave/doc/interpreter/set.texi
? octave/doc/interpreter/signal.texi
? octave/doc/interpreter/stats.texi
? octave/doc/interpreter/stmt.texi
? octave/doc/interpreter/stream.texi
? octave/doc/interpreter/strings.texi
? octave/doc/interpreter/struct.texi
? octave/doc/interpreter/system.texi
? octave/doc/interpreter/tips.texi
? octave/doc/interpreter/var.texi
? octave/doc/interpreter/vr-idx.texi
? octave/doc/liboctave/Makefile
? octave/doc/liboctave/liboctave.aux
? octave/doc/liboctave/liboctave.cp
? octave/doc/liboctave/liboctave.cps
? octave/doc/liboctave/liboctave.dvi
? octave/doc/liboctave/liboctave.fn
? octave/doc/liboctave/liboctave.fns
? octave/doc/liboctave/liboctave.html
? octave/doc/liboctave/liboctave.info
? octave/doc/liboctave/liboctave.info-1
? octave/doc/liboctave/liboctave.info-2
? octave/doc/liboctave/liboctave.info-3
? octave/doc/liboctave/liboctave.ky
? octave/doc/liboctave/liboctave.log
? octave/doc/liboctave/liboctave.op
? octave/doc/liboctave/liboctave.pg
? octave/doc/liboctave/liboctave.ps
? octave/doc/liboctave/liboctave.toc
? octave/doc/liboctave/liboctave.tp
? octave/doc/liboctave/liboctave.vr
? octave/doc/liboctave/liboctave_1.html
? octave/doc/liboctave/liboctave_10.html
? octave/doc/liboctave/liboctave_11.html
? octave/doc/liboctave/liboctave_12.html
? octave/doc/liboctave/liboctave_13.html
? octave/doc/liboctave/liboctave_14.html
? octave/doc/liboctave/liboctave_15.html
? octave/doc/liboctave/liboctave_16.html
? octave/doc/liboctave/liboctave_17.html
? octave/doc/liboctave/liboctave_18.html
? octave/doc/liboctave/liboctave_19.html
? octave/doc/liboctave/liboctave_2.html
? octave/doc/liboctave/liboctave_20.html
? octave/doc/liboctave/liboctave_21.html
? octave/doc/liboctave/liboctave_22.html
? octave/doc/liboctave/liboctave_23.html
? octave/doc/liboctave/liboctave_3.html
? octave/doc/liboctave/liboctave_4.html
? octave/doc/liboctave/liboctave_5.html
? octave/doc/liboctave/liboctave_6.html
? octave/doc/liboctave/liboctave_7.html
? octave/doc/liboctave/liboctave_8.html
? octave/doc/liboctave/liboctave_9.html
? octave/doc/liboctave/liboctave_abt.html
? octave/doc/liboctave/liboctave_ovr.html
? octave/doc/liboctave/liboctave_toc.html
? octave/doc/refcard/Makefile
? octave/doc/refcard/refcard-a4.dvi
? octave/doc/refcard/refcard-a4.log
? octave/doc/refcard/refcard-a4.pdf
? octave/doc/refcard/refcard-a4.ps
? octave/doc/refcard/refcard-legal.dvi
? octave/doc/refcard/refcard-legal.log
? octave/doc/refcard/refcard-legal.pdf
? octave/doc/refcard/refcard-legal.ps
? octave/doc/refcard/refcard-letter.dvi
? octave/doc/refcard/refcard-letter.log
? octave/doc/refcard/refcard-letter.pdf
? octave/doc/refcard/refcard-letter.ps
? octave/emacs/Makefile
? octave/examples/Makefile
? octave/glob/Makefile
? octave/glob/autom4te.cache
? octave/glob/config.h
? octave/glob/config.h.in
? octave/glob/config.log
? octave/glob/config.status
? octave/glob/configure
? octave/libcruft/Makefile
? octave/libcruft/Makerules
? octave/libcruft/amos/Makefile
? octave/libcruft/amos/pic
? octave/libcruft/blas/Makefile
? octave/libcruft/blas/pic
? octave/libcruft/blas-xtra/Makefile
? octave/libcruft/blas-xtra/pic
? octave/libcruft/daspk/Makefile
? octave/libcruft/daspk/pic
? octave/libcruft/dasrt/Makefile
? octave/libcruft/dasrt/pic
? octave/libcruft/dassl/Makefile
? octave/libcruft/dassl/pic
? octave/libcruft/fftpack/Makefile
? octave/libcruft/fftpack/pic
? octave/libcruft/lapack/Makefile
? octave/libcruft/lapack/pic
? octave/libcruft/lapack-xtra/Makefile
? octave/libcruft/lapack-xtra/pic
? octave/libcruft/minpack/Makefile
? octave/libcruft/minpack/pic
? octave/libcruft/misc/Makefile
? octave/libcruft/misc/cquit.d
? octave/libcruft/misc/f77-extern.d
? octave/libcruft/misc/f77-fcn.d
? octave/libcruft/misc/lo-error.d
? octave/libcruft/misc/machar.d
? octave/libcruft/misc/pic
? octave/libcruft/misc/quit.d
? octave/libcruft/odepack/Makefile
? octave/libcruft/odepack/pic
? octave/libcruft/odessa/Makefile
? octave/libcruft/odessa/pic
? octave/libcruft/ordered-qz/Makefile
? octave/libcruft/ordered-qz/pic
? octave/libcruft/quadpack/Makefile
? octave/libcruft/quadpack/pic
? octave/libcruft/ranlib/Makefile
? octave/libcruft/ranlib/pic
? octave/libcruft/slatec-err/Makefile
? octave/libcruft/slatec-err/pic
? octave/libcruft/slatec-fn/Makefile
? octave/libcruft/slatec-fn/pic
? octave/libcruft/villad/Makefile
? octave/libcruft/villad/pic
? octave/liboctave/Array-C.d
? octave/liboctave/Array-b.d
? octave/liboctave/Array-ch.d
? octave/liboctave/Array-d.d
? octave/liboctave/Array-flags.d
? octave/liboctave/Array-i.d
? octave/liboctave/Array-idx-vec.d
? octave/liboctave/Array-s.d
? octave/liboctave/Array-so.d
? octave/liboctave/Array-str.d
? octave/liboctave/Array-util.d
? octave/liboctave/Array.d
? octave/liboctave/ArrayN.d
? octave/liboctave/Bounds.d
? octave/liboctave/CColVector.d
? octave/liboctave/CDiagMatrix.d
? octave/liboctave/CMatrix.d
? octave/liboctave/CNDArray.d
? octave/liboctave/CRowVector.d
? octave/liboctave/CmplxAEPBAL.d
? octave/liboctave/CmplxCHOL.d
? octave/liboctave/CmplxDET.d
? octave/liboctave/CmplxHESS.d
? octave/liboctave/CmplxLU.d
? octave/liboctave/CmplxQR.d
? octave/liboctave/CmplxQRP.d
? octave/liboctave/CmplxSCHUR.d
? octave/liboctave/CmplxSVD.d
? octave/liboctave/CollocWt.d
? octave/liboctave/DASPK-opts.h
? octave/liboctave/DASPK.d
? octave/liboctave/DASRT-opts.h
? octave/liboctave/DASRT.d
? octave/liboctave/DASSL-opts.h
? octave/liboctave/DASSL.d
? octave/liboctave/DiagArray2.d
? octave/liboctave/EIG.d
? octave/liboctave/FEGrid.d
? octave/liboctave/LPsolve.d
? octave/liboctave/LSODE-opts.h
? octave/liboctave/LSODE.d
? octave/liboctave/LinConst.d
? octave/liboctave/MArray-C.d
? octave/liboctave/MArray-ch.d
? octave/liboctave/MArray-d.d
? octave/liboctave/MArray-i.d
? octave/liboctave/MArray-s.d
? octave/liboctave/MArray.d
? octave/liboctave/MArray2.d
? octave/liboctave/MArrayN.d
? octave/liboctave/MDiagArray2.d
? octave/liboctave/Makefile
? octave/liboctave/NLEqn-opts.h
? octave/liboctave/NLEqn.d
? octave/liboctave/ODES.d
? octave/liboctave/ODESSA-opts.h
? octave/liboctave/ODESSA.d
? octave/liboctave/Quad-opts.h
? octave/liboctave/Quad.d
? octave/liboctave/Range.d
? octave/liboctave/base-lu.d
? octave/liboctave/boolMatrix.d
? octave/liboctave/boolNDArray.d
? octave/liboctave/chMatrix.d
? octave/liboctave/chNDArray.d
? octave/liboctave/cmd-edit.d
? octave/liboctave/cmd-hist.d
? octave/liboctave/dColVector.d
? octave/liboctave/dDiagMatrix.d
? octave/liboctave/dMatrix.d
? octave/liboctave/dNDArray.d
? octave/liboctave/dRowVector.d
? octave/liboctave/data-conv.d
? octave/liboctave/dbleAEPBAL.d
? octave/liboctave/dbleCHOL.d
? octave/liboctave/dbleDET.d
? octave/liboctave/dbleHESS.d
? octave/liboctave/dbleLU.d
? octave/liboctave/dbleQR.d
? octave/liboctave/dbleQRP.d
? octave/liboctave/dbleSCHUR.d
? octave/liboctave/dbleSVD.d
? octave/liboctave/dir-ops.d
? octave/liboctave/f2c-main.d
? octave/liboctave/file-ops.d
? octave/liboctave/file-stat.d
? octave/liboctave/filemode.d
? octave/liboctave/getopt.d
? octave/liboctave/getopt1.d
? octave/liboctave/glob-match.d
? octave/liboctave/idx-vector.d
? octave/liboctave/kpse-xfns.d
? octave/liboctave/lo-cieee.d
? octave/liboctave/lo-cutils.d
? octave/liboctave/lo-ieee.d
? octave/liboctave/lo-mappers.d
? octave/liboctave/lo-specfun.d
? octave/liboctave/lo-sysdep.d
? octave/liboctave/lo-utils.d
? octave/liboctave/mach-info.d
? octave/liboctave/mkdir.d
? octave/liboctave/mx-cdm-cm.cc
? octave/liboctave/mx-cdm-cm.d
? octave/liboctave/mx-cdm-cm.h
? octave/liboctave/mx-cdm-cs.cc
? octave/liboctave/mx-cdm-cs.d
? octave/liboctave/mx-cdm-cs.h
? octave/liboctave/mx-cdm-dm.cc
? octave/liboctave/mx-cdm-dm.d
? octave/liboctave/mx-cdm-dm.h
? octave/liboctave/mx-cdm-m.cc
? octave/liboctave/mx-cdm-m.d
? octave/liboctave/mx-cdm-m.h
? octave/liboctave/mx-cdm-s.cc
? octave/liboctave/mx-cdm-s.d
? octave/liboctave/mx-cdm-s.h
? octave/liboctave/mx-cm-cdm.cc
? octave/liboctave/mx-cm-cdm.d
? octave/liboctave/mx-cm-cdm.h
? octave/liboctave/mx-cm-dm.cc
? octave/liboctave/mx-cm-dm.d
? octave/liboctave/mx-cm-dm.h
? octave/liboctave/mx-cm-m.cc
? octave/liboctave/mx-cm-m.d
? octave/liboctave/mx-cm-m.h
? octave/liboctave/mx-cm-s.cc
? octave/liboctave/mx-cm-s.d
? octave/liboctave/mx-cm-s.h
? octave/liboctave/mx-cnda-nda.cc
? octave/liboctave/mx-cnda-nda.d
? octave/liboctave/mx-cnda-nda.h
? octave/liboctave/mx-cnda-s.cc
? octave/liboctave/mx-cnda-s.d
? octave/liboctave/mx-cnda-s.h
? octave/liboctave/mx-cs-cdm.cc
? octave/liboctave/mx-cs-cdm.d
? octave/liboctave/mx-cs-cdm.h
? octave/liboctave/mx-cs-dm.cc
? octave/liboctave/mx-cs-dm.d
? octave/liboctave/mx-cs-dm.h
? octave/liboctave/mx-cs-m.cc
? octave/liboctave/mx-cs-m.d
? octave/liboctave/mx-cs-m.h
? octave/liboctave/mx-cs-nda.cc
? octave/liboctave/mx-cs-nda.d
? octave/liboctave/mx-cs-nda.h
? octave/liboctave/mx-dm-cdm.cc
? octave/liboctave/mx-dm-cdm.d
? octave/liboctave/mx-dm-cdm.h
? octave/liboctave/mx-dm-cm.cc
? octave/liboctave/mx-dm-cm.d
? octave/liboctave/mx-dm-cm.h
? octave/liboctave/mx-dm-cs.cc
? octave/liboctave/mx-dm-cs.d
? octave/liboctave/mx-dm-cs.h
? octave/liboctave/mx-dm-m.cc
? octave/liboctave/mx-dm-m.d
? octave/liboctave/mx-dm-m.h
? octave/liboctave/mx-dm-s.cc
? octave/liboctave/mx-dm-s.d
? octave/liboctave/mx-dm-s.h
? octave/liboctave/mx-m-cdm.cc
? octave/liboctave/mx-m-cdm.d
? octave/liboctave/mx-m-cdm.h
? octave/liboctave/mx-m-cm.cc
? octave/liboctave/mx-m-cm.d
? octave/liboctave/mx-m-cm.h
? octave/liboctave/mx-m-cs.cc
? octave/liboctave/mx-m-cs.d
? octave/liboctave/mx-m-cs.h
? octave/liboctave/mx-m-dm.cc
? octave/liboctave/mx-m-dm.d
? octave/liboctave/mx-m-dm.h
? octave/liboctave/mx-nda-cnda.cc
? octave/liboctave/mx-nda-cnda.d
? octave/liboctave/mx-nda-cnda.h
? octave/liboctave/mx-nda-cs.cc
? octave/liboctave/mx-nda-cs.d
? octave/liboctave/mx-nda-cs.h
? octave/liboctave/mx-ops.h
? octave/liboctave/mx-s-cdm.cc
? octave/liboctave/mx-s-cdm.d
? octave/liboctave/mx-s-cdm.h
? octave/liboctave/mx-s-cm.cc
? octave/liboctave/mx-s-cm.d
? octave/liboctave/mx-s-cm.h
? octave/liboctave/mx-s-cnda.cc
? octave/liboctave/mx-s-cnda.d
? octave/liboctave/mx-s-cnda.h
? octave/liboctave/mx-s-dm.cc
? octave/liboctave/mx-s-dm.d
? octave/liboctave/mx-s-dm.h
? octave/liboctave/oct-alloc.d
? octave/liboctave/oct-env.d
? octave/liboctave/oct-fftw.d
? octave/liboctave/oct-getopt.d
? octave/liboctave/oct-group.d
? octave/liboctave/oct-passwd.d
? octave/liboctave/oct-rand.d
? octave/liboctave/oct-rl-edit.d
? octave/liboctave/oct-rl-hist.d
? octave/liboctave/oct-shlib.d
? octave/liboctave/oct-syscalls.d
? octave/liboctave/oct-time.d
? octave/liboctave/pathsearch.d
? octave/liboctave/prog-args.d
? octave/liboctave/rename.d
? octave/liboctave/rmdir.d
? octave/liboctave/so-array.d
? octave/liboctave/stamp-prereq
? octave/liboctave/str-vec.d
? octave/liboctave/strftime.d
? octave/liboctave/strptime.d
? octave/liboctave/tempnam.d
? octave/liboctave/tempname.d
? octave/liboctave/vx-ccv-cv.cc
? octave/liboctave/vx-ccv-cv.d
? octave/liboctave/vx-ccv-cv.h
? octave/liboctave/vx-ccv-s.cc
? octave/liboctave/vx-ccv-s.d
? octave/liboctave/vx-ccv-s.h
? octave/liboctave/vx-crv-rv.cc
? octave/liboctave/vx-crv-rv.d
? octave/liboctave/vx-crv-rv.h
? octave/liboctave/vx-crv-s.cc
? octave/liboctave/vx-crv-s.d
? octave/liboctave/vx-crv-s.h
? octave/liboctave/vx-cs-cv.cc
? octave/liboctave/vx-cs-cv.d
? octave/liboctave/vx-cs-cv.h
? octave/liboctave/vx-cs-rv.cc
? octave/liboctave/vx-cs-rv.d
? octave/liboctave/vx-cs-rv.h
? octave/liboctave/vx-cv-ccv.cc
? octave/liboctave/vx-cv-ccv.d
? octave/liboctave/vx-cv-ccv.h
? octave/liboctave/vx-cv-cs.cc
? octave/liboctave/vx-cv-cs.d
? octave/liboctave/vx-cv-cs.h
? octave/liboctave/vx-rv-crv.cc
? octave/liboctave/vx-rv-crv.d
? octave/liboctave/vx-rv-crv.h
? octave/liboctave/vx-rv-cs.cc
? octave/liboctave/vx-rv-cs.d
? octave/liboctave/vx-rv-cs.h
? octave/liboctave/vx-s-ccv.cc
? octave/liboctave/vx-s-ccv.d
? octave/liboctave/vx-s-ccv.h
? octave/liboctave/vx-s-crv.cc
? octave/liboctave/vx-s-crv.d
? octave/liboctave/vx-s-crv.h
? octave/scripts/DOCSTRINGS
? octave/scripts/Makefile
? octave/scripts/autom4te.cache
? octave/scripts/config.log
? octave/scripts/config.status
? octave/scripts/configure
? octave/scripts/gethelp
? octave/scripts/audio/Makefile
? octave/scripts/control/Makefile
? octave/scripts/control/base/Makefile
? octave/scripts/control/hinf/Makefile
? octave/scripts/control/obsolete/Makefile
? octave/scripts/control/system/Makefile
? octave/scripts/control/util/Makefile
? octave/scripts/deprecated/Makefile
? octave/scripts/elfun/Makefile
? octave/scripts/finance/Makefile
? octave/scripts/general/Makefile
? octave/scripts/image/Makefile
? octave/scripts/io/Makefile
? octave/scripts/linear-algebra/Makefile
? octave/scripts/miscellaneous/Makefile
? octave/scripts/plot/Makefile
? octave/scripts/polynomial/Makefile
? octave/scripts/quaternion/Makefile
? octave/scripts/set/Makefile
? octave/scripts/signal/Makefile
? octave/scripts/specfun/Makefile
? octave/scripts/special-matrix/Makefile
? octave/scripts/startup/Makefile
? octave/scripts/statistics/Makefile
? octave/scripts/statistics/base/Makefile
? octave/scripts/statistics/distributions/Makefile
? octave/scripts/statistics/models/Makefile
? octave/scripts/statistics/tests/Makefile
? octave/scripts/strings/Makefile
? octave/scripts/time/Makefile
? octave/src/Array-oc.d
? octave/src/Array-os.d
? octave/src/Array-sym.d
? octave/src/Array-tc.d
? octave/src/Cell.d
? octave/src/DASPK-opts.cc
? octave/src/DASRT-opts.cc
? octave/src/DASSL-opts.cc
? octave/src/DOCSTRINGS
? octave/src/LSODE-opts.cc
? octave/src/Makefile
? octave/src/NLEqn-opts.cc
? octave/src/ODESSA-opts.cc
? octave/src/Quad-opts.cc
? octave/src/balance.d
? octave/src/balance.df
? octave/src/besselj.d
? octave/src/besselj.df
? octave/src/betainc.d
? octave/src/betainc.df
? octave/src/builtins.cc
? octave/src/builtins.d
? octave/src/c-file-ptr-stream.d
? octave/src/chol.d
? octave/src/chol.df
? octave/src/colloc.d
? octave/src/colloc.df
? octave/src/comment-list.d
? octave/src/cutils.d
? octave/src/daspk.d
? octave/src/daspk.df
? octave/src/dasrt.d
? octave/src/dasrt.df
? octave/src/dassl.d
? octave/src/dassl.df
? octave/src/data.d
? octave/src/data.df
? octave/src/debug.d
? octave/src/debug.df
? octave/src/def-files
? octave/src/defaults.d
? octave/src/defaults.df
? octave/src/defaults.h
? octave/src/defun.d
? octave/src/defun.df
? octave/src/det.d
? octave/src/det.df
? octave/src/dirfns.d
? octave/src/dirfns.df
? octave/src/doc-files
? octave/src/dynamic-ld.d
? octave/src/dynamic-ld.df
? octave/src/eig.d
? octave/src/eig.df
? octave/src/error.d
? octave/src/error.df
? octave/src/expm.d
? octave/src/expm.df
? octave/src/fft.d
? octave/src/fft.df
? octave/src/fft2.d
? octave/src/fft2.df
? octave/src/file-io.d
? octave/src/file-io.df
? octave/src/filter.d
? octave/src/filter.df
? octave/src/find.d
? octave/src/find.df
? octave/src/fn-cache.d
? octave/src/fsolve.d
? octave/src/fsolve.df
? octave/src/gammainc.d
? octave/src/gammainc.df
? octave/src/gendoc
? octave/src/gendoc.cc
? octave/src/getgrent.d
? octave/src/getgrent.df
? octave/src/getpwent.d
? octave/src/getpwent.df
? octave/src/getrusage.d
? octave/src/getrusage.df
? octave/src/givens.d
? octave/src/givens.df
? octave/src/gripes.d
? octave/src/help.d
? octave/src/help.df
? octave/src/hess.d
? octave/src/hess.df
? octave/src/ifft.d
? octave/src/ifft.df
? octave/src/ifft2.d
? octave/src/ifft2.df
? octave/src/input.d
? octave/src/input.df
? octave/src/inv.d
? octave/src/inv.df
? octave/src/kron.d
? octave/src/kron.df
? octave/src/lex.cc
? octave/src/lex.d
? octave/src/lex.df
? octave/src/load-save.d
? octave/src/load-save.df
? octave/src/lpsolve.d
? octave/src/lpsolve.df
? octave/src/ls-hdf5.d
? octave/src/ls-mat-ascii.d
? octave/src/ls-mat4.d
? octave/src/ls-mat5.d
? octave/src/ls-oct-ascii.d
? octave/src/ls-oct-ascii.df
? octave/src/ls-oct-binary.d
? octave/src/ls-utils.d
? octave/src/lsode.d
? octave/src/lsode.df
? octave/src/lu.d
? octave/src/lu.df
? octave/src/main.d
? octave/src/mappers.d
? octave/src/mappers.df
? octave/src/matherr.d
? octave/src/minmax.d
? octave/src/minmax.df
? octave/src/oct-conf.h
? octave/src/oct-fstrm.d
? octave/src/oct-gperf.h
? octave/src/oct-hist.d
? octave/src/oct-hist.df
? octave/src/oct-iostrm.d
? octave/src/oct-lvalue.d
? octave/src/oct-map.d
? octave/src/oct-obj.d
? octave/src/oct-prcstrm.d
? octave/src/oct-procbuf.d
? octave/src/oct-procbuf.df
? octave/src/oct-stdstrm.d
? octave/src/oct-stream.d
? octave/src/oct-strstrm.d
? octave/src/octave
? octave/src/octave.d
? octave/src/odessa.d
? octave/src/odessa.df
? octave/src/op-b-b.d
? octave/src/op-b-bm.d
? octave/src/op-bm-b.d
? octave/src/op-bm-bm.d
? octave/src/op-cell.d
? octave/src/op-chm.d
? octave/src/op-cm-cm.d
? octave/src/op-cm-cs.d
? octave/src/op-cm-m.d
? octave/src/op-cm-s.d
? octave/src/op-cs-cm.d
? octave/src/op-cs-cs.d
? octave/src/op-cs-m.d
? octave/src/op-cs-s.d
? octave/src/op-fcn-handle.d
? octave/src/op-fil-b.d
? octave/src/op-fil-bm.d
? octave/src/op-fil-cm.d
? octave/src/op-fil-cs.d
? octave/src/op-fil-lis.d
? octave/src/op-fil-m.d
? octave/src/op-fil-rec.d
? octave/src/op-fil-s.d
? octave/src/op-fil-str.d
? octave/src/op-list.d
? octave/src/op-m-cm.d
? octave/src/op-m-cs.d
? octave/src/op-m-m.d
? octave/src/op-m-s.d
? octave/src/op-range.d
? octave/src/op-s-cm.d
? octave/src/op-s-cs.d
? octave/src/op-s-m.d
? octave/src/op-s-s.d
? octave/src/op-str-m.d
? octave/src/op-str-s.d
? octave/src/op-str-str.d
? octave/src/op-streamoff.d
? octave/src/ops.cc
? octave/src/ops.d
? octave/src/ov-base-mat.d
? octave/src/ov-base-scalar.d
? octave/src/ov-base.d
? octave/src/ov-bool-mat.d
? octave/src/ov-bool.d
? octave/src/ov-builtin.d
? octave/src/ov-cell.d
? octave/src/ov-cell.df
? octave/src/ov-ch-mat.d
? octave/src/ov-colon.d
? octave/src/ov-complex.d
? octave/src/ov-cs-list.d
? octave/src/ov-cx-mat.d
? octave/src/ov-dld-fcn.d
? octave/src/ov-fcn-handle.d
? octave/src/ov-fcn-handle.df
? octave/src/ov-fcn.d
? octave/src/ov-file.d
? octave/src/ov-list.d
? octave/src/ov-list.df
? octave/src/ov-mapper.d
? octave/src/ov-range.d
? octave/src/ov-re-mat.d
? octave/src/ov-scalar.d
? octave/src/ov-str-mat.d
? octave/src/ov-streamoff.d
? octave/src/ov-streamoff.df
? octave/src/ov-struct.d
? octave/src/ov-struct.df
? octave/src/ov-typeinfo.d
? octave/src/ov-typeinfo.df
? octave/src/ov-usr-fcn.d
? octave/src/ov-usr-fcn.df
? octave/src/ov-va-args.d
? octave/src/ov.d
? octave/src/ov.df
? octave/src/pager.d
? octave/src/pager.df
? octave/src/parse.cc
? octave/src/parse.d
? octave/src/parse.df
? octave/src/pinv.d
? octave/src/pinv.df
? octave/src/pr-output.d
? octave/src/pr-output.df
? octave/src/procstream.d
? octave/src/pt-arg-list.d
? octave/src/pt-arg-list.df
? octave/src/pt-assign.d
? octave/src/pt-assign.df
? octave/src/pt-binop.d
? octave/src/pt-bp.d
? octave/src/pt-cell.d
? octave/src/pt-check.d
? octave/src/pt-cmd.d
? octave/src/pt-colon.d
? octave/src/pt-const.d
? octave/src/pt-decl.d
? octave/src/pt-except.d
? octave/src/pt-exp.d
? octave/src/pt-fcn-handle.d
? octave/src/pt-id.d
? octave/src/pt-idx.d
? octave/src/pt-jump.d
? octave/src/pt-loop.d
? octave/src/pt-mat.d
? octave/src/pt-mat.df
? octave/src/pt-misc.d
? octave/src/pt-misc.df
? octave/src/pt-plot.d
? octave/src/pt-plot.df
? octave/src/pt-pr-code.d
? octave/src/pt-select.d
? octave/src/pt-stmt.d
? octave/src/pt-unop.d
? octave/src/pt.d
? octave/src/qr.d
? octave/src/qr.df
? octave/src/quad.d
? octave/src/quad.df
? octave/src/qz.d
? octave/src/qz.df
? octave/src/rand.d
? octave/src/rand.df
? octave/src/schur.d
? octave/src/schur.df
? octave/src/sighandlers.d
? octave/src/sighandlers.df
? octave/src/siglist.d
? octave/src/sort.d
? octave/src/sort.df
? octave/src/sqrtm.d
? octave/src/sqrtm.df
? octave/src/stamp-liboctave-prereq
? octave/src/stamp-oct-links
? octave/src/stamp-prereq
? octave/src/strcasecmp.d
? octave/src/strfns.d
? octave/src/strfns.df
? octave/src/strncase.d
? octave/src/svd.d
? octave/src/svd.df
? octave/src/syl.d
? octave/src/syl.df
? octave/src/symtab.d
? octave/src/symtab.df
? octave/src/syscalls.d
? octave/src/syscalls.df
? octave/src/sysdep.d
? octave/src/sysdep.df
? octave/src/time.d
? octave/src/time.df
? octave/src/token.d
? octave/src/toplev.d
? octave/src/toplev.df
? octave/src/unwind-prot.d
? octave/src/utils.d
? octave/src/utils.df
? octave/src/var-files
? octave/src/variables.d
? octave/src/variables.df
? octave/src/xdiv.d
? octave/src/xpow.d
? octave/src/y.output
? octave/src/y.tab.h
? octave/test/Makefile
Index: octave/ChangeLog
===================================================================
RCS file: /cvs/octave/ChangeLog,v
retrieving revision 1.396
diff -c -r1.396 ChangeLog
*** octave/ChangeLog 2004/01/29 18:38:49 1.396
--- octave/ChangeLog 2004/02/04 04:03:42
***************
*** 1,3 ****
--- 1,73 ----
+ 2004-02-04 Øyvind Kristiansen
+
+ * symtab.cc
+ New includes: gripes.h, lo-mappers.h,pr-output.h
+ (symbol_record::make_dimensions_string): New method
+ used by print_symbol_info_line and maybe_list
+ (symbol_record::print_symbol_info_line): Changes related to
+ built-in variables who_traditional and who_print_dims.
+ Affects output from who and whos. Dimensions of matrices are
+ written in any number of dimensions (controlled by who_print_dims).
+ (symbol_record::maybe_list): Ditto.
+ (who_traditional, Vwho_traditional): New built-in variable
+ (who_print_dims, Vwho_print_dims): New built-in variable
+
+ * symtab.h
+ (is_matrix_type, compute_size): New methods in symbol_record and
+ symbol_record::symbol_def
+ (who_traditional, Vwho_traditional, who_print_dims,
+ Vwho_print_dims): See symtab.cc
+
+ * Cell.cc, Cell.h
+ New includes: Array-util.h, dim-vector.h
+ (Cell::compute_size): New method
+
+ * ov-base.h
+ (octave_base_value::compute_size): New method
+
+ * ov-base-mat.cc, ov-base-mat.h
+ (octave_base_matrix::compute_size): New method
+
+ * ov-base-nd-array.h
+ (octave_base_nd_array::compute_size): New method
+
+ * ov-base-scalar.cc, ov-base_scalar.h
+ (octave_base_scalar::compute_size): New method
+
+ * ov-cell.cc, ov-cell.h
+ New include: Array-util.h
+ (octave_cell::compute_size): New method
+
+ * ov-colon.h
+ (octave_magic_colon::compute_size): New method
+
+ * ov-cs-list.cc, ov-cs-list.h
+ (octave_cs_list::compute_size): New method
+
+ * ov-fcn.h
+ (octave_function::compute_size): New method
+
+ * ov-file.cc, ov-file.h
+ (octave_file::compute_size): New method
+
+ * ov-range.h
+ (octave_range::compute_size): New method
+
+ * ov-struct.cc, ov-struct.h
+ (octave_struct::compute_size): New method
+
+ * ov-va-args.h
+ (octave_all_va_args::compute_size): New method
+
+ * ov.cc, ov.h
+ (octave_value::compute_size): New method
+
+ * variables.cc
+ (do_who): Modified. Option -global added to who and whos.
+
+ * Array.h, Array.cc
+ (Array::compute_size): New method
+
2004-01-29 John W. Eaton
* emacs/octave-mod.el: If line-end-position is not defined,
Index: octave/liboctave/Array.cc
===================================================================
RCS file: /cvs/octave/liboctave/Array.cc,v
retrieving revision 1.86
diff -c -r1.86 Array.cc
*** octave/liboctave/Array.cc 2004/01/23 03:09:59 1.86
--- octave/liboctave/Array.cc 2004/02/04 04:03:43
***************
*** 237,242 ****
--- 237,250 ----
#undef MALLOC_OVERHEAD
template
+ void
+ Array::compute_size (long& elements, long& bytes) const
+ {
+ elements = nelem ();
+ bytes = sizeof (T) * elements;
+ }
+
+ template
int
Array::compute_index (const Array& ra_idx) const
{
Index: octave/liboctave/Array.h
===================================================================
RCS file: /cvs/octave/liboctave/Array.h,v
retrieving revision 1.83
diff -c -r1.83 Array.h
*** octave/liboctave/Array.h 2004/01/22 00:01:09 1.83
--- octave/liboctave/Array.h 2004/02/04 04:03:44
***************
*** 256,261 ****
--- 256,263 ----
static int get_size (int r, int c, int p);
static int get_size (const dim_vector& dv);
+ void compute_size (long& elements, long& bytes) const;
+
int compute_index (const Array& ra_idx) const;
T range_error (const char *fcn, int n) const;
Index: octave/src/Cell.cc
===================================================================
RCS file: /cvs/octave/src/Cell.cc,v
retrieving revision 1.10
diff -c -r1.10 Cell.cc
*** octave/src/Cell.cc 2003/11/15 12:51:20 1.10
--- octave/src/Cell.cc 2004/02/04 04:03:44
***************
*** 29,36 ****
--- 29,38 ----
#endif
#include "idx-vector.h"
+ #include "Array-util.h"
#include "Cell.h"
+ #include "dim-vector.h"
Cell::Cell (const string_vector& sv)
: ArrayN ()
***************
*** 85,90 ****
--- 87,113 ----
}
return retval;
+ }
+
+ void
+ Cell::compute_size (long &elements, long &bytes) const
+ {
+ long elements1, bytes1;
+ int nr_elems = nelem ();
+
+ elements = 0;
+ bytes = 0;
+
+ for (int i = 0; i < nr_elems; i++)
+ {
+ // Compute size of every element in the array
+
+ octave_value val;
+ val = elem (i);
+ val.compute_size (elements1, bytes1);
+ elements += elements1;
+ bytes += bytes1;
+ }
}
Cell&
Index: octave/src/Cell.h
===================================================================
RCS file: /cvs/octave/src/Cell.h,v
retrieving revision 1.17
diff -c -r1.17 Cell.h
*** octave/src/Cell.h 2004/01/21 19:55:36 1.17
--- octave/src/Cell.h 2004/02/04 04:03:44
***************
*** 96,101 ****
--- 96,103 ----
// XXX FIXME XXX
boolMatrix any (int dim = 0) const { return boolMatrix (); }
+ void compute_size (long &elements, long &bytes) const;
+
// XXX FIXME XXX
bool is_true (void) const { return false; }
Index: octave/src/ov-base-mat.cc
===================================================================
RCS file: /cvs/octave/src/ov-base-mat.cc,v
retrieving revision 1.25
diff -c -r1.25 ov-base-mat.cc
*** octave/src/ov-base-mat.cc 2003/11/24 18:56:35 1.25
--- octave/src/ov-base-mat.cc 2004/02/04 04:03:44
***************
*** 202,207 ****
--- 202,214 ----
}
template
+ void
+ octave_base_matrix::compute_size (long &elements, long &bytes) const
+ {
+ matrix.compute_size (elements, bytes);
+ }
+
+ template
bool
octave_base_matrix::print_as_scalar (void) const
{
Index: octave/src/ov-base-mat.h
===================================================================
RCS file: /cvs/octave/src/ov-base-mat.h,v
retrieving revision 1.29
diff -c -r1.29 ov-base-mat.h
*** octave/src/ov-base-mat.h 2003/12/16 16:47:52 1.29
--- octave/src/ov-base-mat.h 2004/02/04 04:03:45
***************
*** 120,125 ****
--- 120,127 ----
void print_info (std::ostream& os, const std::string& prefix) const;
+ void compute_size (long &elements, long &bytes) const;
+
protected:
MT matrix;
Index: octave/src/ov-base-nd-array.h
===================================================================
RCS file: /cvs/octave/src/ov-base-nd-array.h,v
retrieving revision 1.5
diff -c -r1.5 ov-base-nd-array.h
*** octave/src/ov-base-nd-array.h 2002/11/20 16:56:48 1.5
--- octave/src/ov-base-nd-array.h 2004/02/04 04:03:45
***************
*** 80,85 ****
--- 80,87 ----
virtual bool print_as_scalar (void) const;
+ void compute_size (long &elements, long& bytes) const { elements = 1; bytes = 0; }
+
void print (std::ostream& os, bool pr_as_read_syntax = false) const;
void print_raw (std::ostream& os, bool pr_as_read_syntax = false) const;
Index: octave/src/ov-base-scalar.cc
===================================================================
RCS file: /cvs/octave/src/ov-base-scalar.cc,v
retrieving revision 1.10
diff -c -r1.10 ov-base-scalar.cc
*** octave/src/ov-base-scalar.cc 2002/12/30 23:05:27 1.10
--- octave/src/ov-base-scalar.cc 2004/02/04 04:03:45
***************
*** 112,117 ****
--- 112,125 ----
template
void
+ octave_base_scalar::compute_size (long& elements, long& bytes) const
+ {
+ elements = 1;
+ bytes = sizeof (ST);
+ }
+
+ template
+ void
octave_base_scalar::print (std::ostream& os, bool pr_as_read_syntax) const
{
print_raw (os, pr_as_read_syntax);
***************
*** 134,140 ****
{
indent (os);
os << name << " = ";
! return false;
}
/*
--- 142,148 ----
{
indent (os);
os << name << " = ";
! return false;
}
/*
Index: octave/src/ov-base-scalar.h
===================================================================
RCS file: /cvs/octave/src/ov-base-scalar.h,v
retrieving revision 1.16
diff -c -r1.16 ov-base-scalar.h
*** octave/src/ov-base-scalar.h 2003/11/25 05:41:36 1.16
--- octave/src/ov-base-scalar.h 2004/02/04 04:03:45
***************
*** 89,94 ****
--- 89,96 ----
bool is_true (void) const { return (scalar != 0.0); }
+ void compute_size (long& elements, long& bytes) const;
+
void print (std::ostream& os, bool pr_as_read_syntax = false) const;
void print_raw (std::ostream& os, bool pr_as_read_syntax = false) const;
Index: octave/src/ov-base.h
===================================================================
RCS file: /cvs/octave/src/ov-base.h,v
retrieving revision 1.66
diff -c -r1.66 ov-base.h
*** octave/src/ov-base.h 2004/01/21 03:28:31 1.66
--- octave/src/ov-base.h 2004/02/04 04:03:45
***************
*** 254,259 ****
--- 254,261 ----
void print_info (std::ostream& os, const std::string& prefix) const;
+ void compute_size (long& elements, long& bytes) const { elements = 1; bytes = 0; }
+
bool save_ascii (std::ostream& os, bool& infnan_warned,
bool strip_nan_and_inf);
Index: octave/src/ov-cell.cc
===================================================================
RCS file: /cvs/octave/src/ov-cell.cc,v
retrieving revision 1.35
diff -c -r1.35 ov-cell.cc
*** octave/src/ov-cell.cc 2004/01/23 14:22:37 1.35
--- octave/src/ov-cell.cc 2004/02/04 04:03:45
***************
*** 51,56 ****
--- 51,58 ----
#include "ls-hdf5.h"
#include "ls-utils.h"
+ #include "Array-util.h"
+
template class octave_base_matrix;
DEFINE_OCTAVE_ALLOCATOR (octave_cell);
***************
*** 394,399 ****
--- 396,407 ----
os << "{" << dv.str () << " Cell Array}";
newline (os);
}
+ }
+
+ void
+ octave_cell::compute_size (long& elements, long& bytes) const
+ {
+ matrix.compute_size (elements, bytes);
}
#define CELL_ELT_TAG ""
Index: octave/src/ov-cell.h
===================================================================
RCS file: /cvs/octave/src/ov-cell.h,v
retrieving revision 1.23
diff -c -r1.23 ov-cell.h
*** octave/src/ov-cell.h 2004/01/06 21:53:34 1.23
--- octave/src/ov-cell.h 2004/02/04 04:03:45
***************
*** 110,115 ****
--- 110,116 ----
void print_raw (std::ostream& os, bool pr_as_read_syntax = false) const;
+ void compute_size (long &elements, long &bytes) const;
bool save_ascii (std::ostream& os, bool& infnan_warned,
bool strip_nan_and_inf);
Index: octave/src/ov-colon.h
===================================================================
RCS file: /cvs/octave/src/ov-colon.h,v
retrieving revision 1.10
diff -c -r1.10 ov-colon.h
*** octave/src/ov-colon.h 2002/05/15 03:21:00 1.10
--- octave/src/ov-colon.h 2004/02/04 04:03:45
***************
*** 70,75 ****
--- 70,77 ----
bool valid_as_zero_index (void) const { return false; }
+ void compute_size (long& elements, long& bytes) const { elements = 1; bytes = 0; }
+
void print (std::ostream& os, bool pr_as_read_syntax = false) const;
void print_raw (std::ostream& os, bool pr_as_read_syntax = false) const;
Index: octave/src/ov-cs-list.cc
===================================================================
RCS file: /cvs/octave/src/ov-cs-list.cc,v
retrieving revision 1.13
diff -c -r1.13 ov-cs-list.cc
*** octave/src/ov-cs-list.cc 2003/11/25 06:22:02 1.13
--- octave/src/ov-cs-list.cc 2004/02/04 04:03:45
***************
*** 60,65 ****
--- 60,81 ----
}
void
+ octave_cs_list::compute_size (long &elements, long &bytes) const
+ {
+ int n = lst.length ();
+ long elements1, bytes1;
+
+ for (int i = 0; i < n; i++)
+ {
+ octave_value val = lst (i);
+
+ val.compute_size(elements1, bytes1);
+ elements += elements1;
+ bytes += bytes1;
+ }
+ }
+
+ void
octave_cs_list::print_raw (std::ostream& os, bool) const
{
unwind_protect::begin_frame ("octave_cs_list_print");
Index: octave/src/ov-cs-list.h
===================================================================
RCS file: /cvs/octave/src/ov-cs-list.h,v
retrieving revision 1.13
diff -c -r1.13 ov-cs-list.h
*** octave/src/ov-cs-list.h 2003/11/25 06:22:02 1.13
--- octave/src/ov-cs-list.h 2004/02/04 04:03:45
***************
*** 77,82 ****
--- 77,84 ----
octave_value_list list_value (void) const { return lst; }
+ void compute_size (long &elements, long &bytes) const;
+
void print (std::ostream& os, bool) const;
void print_raw (std::ostream& os, bool pr_as_read_syntax = false) const;
Index: octave/src/ov-fcn.h
===================================================================
RCS file: /cvs/octave/src/ov-fcn.h,v
retrieving revision 1.17
diff -c -r1.17 ov-fcn.h
*** octave/src/ov-fcn.h 2003/11/23 08:07:53 1.17
--- octave/src/ov-fcn.h 2004/02/04 04:03:46
***************
*** 80,85 ****
--- 80,87 ----
virtual void accept (tree_walker&) { }
+ void compute_size (long& elements, long& bytes) const { elements = 1; bytes = 0; }
+
protected:
octave_function (const std::string& nm, const std::string& ds)
Index: octave/src/ov-file.cc
===================================================================
RCS file: /cvs/octave/src/ov-file.cc,v
retrieving revision 1.14
diff -c -r1.14 ov-file.cc
*** octave/src/ov-file.cc 2003/11/22 12:25:44 1.14
--- octave/src/ov-file.cc 2004/02/04 04:03:46
***************
*** 63,68 ****
--- 63,75 ----
}
void
+ octave_file::compute_size (long& elements, long& bytes) const
+ {
+ elements = 1;
+ bytes = sizeof (int); // Size of number -- this could be more accurate
+ }
+
+ void
octave_file::print_raw (std::ostream& os, bool) const
{
indent (os); os << "{"; newline (os);
Index: octave/src/ov-file.h
===================================================================
RCS file: /cvs/octave/src/ov-file.h,v
retrieving revision 1.14
diff -c -r1.14 ov-file.h
*** octave/src/ov-file.h 2003/11/14 19:49:56 1.14
--- octave/src/ov-file.h 2004/02/04 04:03:46
***************
*** 93,98 ****
--- 93,100 ----
octave_value any (int = 0) const { return (number != 0.0); }
+ void compute_size (long& elements, long& bytes) const;
+
void print (std::ostream& os, bool pr_as_read_syntax = false) const;
void print_raw (std::ostream& os, bool pr_as_read_syntax = false) const;
Index: octave/src/ov-range.h
===================================================================
RCS file: /cvs/octave/src/ov-range.h,v
retrieving revision 1.38
diff -c -r1.38 ov-range.h
*** octave/src/ov-range.h 2004/01/06 21:53:34 1.38
--- octave/src/ov-range.h 2004/02/04 04:03:46
***************
*** 165,170 ****
--- 165,175 ----
octave_value convert_to_str_internal (bool pad, bool force) const;
+ int size_of_element (void) const { return sizeof (Range); }
+
+ void compute_size (long &elements, long &bytes) const
+ { bytes = size_of_element (); elements = 1; }
+
void print (std::ostream& os, bool pr_as_read_syntax = false) const;
void print_raw (std::ostream& os, bool pr_as_read_syntax = false) const;
Index: octave/src/ov-struct.cc
===================================================================
RCS file: /cvs/octave/src/ov-struct.cc,v
retrieving revision 1.39
diff -c -r1.39 ov-struct.cc
*** octave/src/ov-struct.cc 2004/01/15 02:11:59 1.39
--- octave/src/ov-struct.cc 2004/02/04 04:03:46
***************
*** 352,357 ****
--- 352,380 ----
}
void
+ octave_struct::compute_size (long &elements, long &bytes) const
+ {
+ // Compute total size in bytes and elements of all the map
+
+ long bytes1, elements1;
+ elements = 0;
+ bytes = 0;
+
+ int n = map.numel ();
+
+ for (Octave_map::const_iterator p = map.begin (); p != map.end (); p++)
+ {
+ Cell val = map.contents (p);
+ // Follow syntax is strange ...
+ octave_value tmp = (n == 1) ? octave_value (val, false) : octave_value (val, true);
+
+ tmp.compute_size (elements1, bytes1);
+ elements += elements1;
+ bytes += bytes1;
+ }
+ }
+
+ void
octave_struct::print (std::ostream& os, bool) const
{
print_raw (os);
Index: octave/src/ov-struct.h
===================================================================
RCS file: /cvs/octave/src/ov-struct.h,v
retrieving revision 1.27
diff -c -r1.27 ov-struct.h
*** octave/src/ov-struct.h 2004/01/06 21:53:34 1.27
--- octave/src/ov-struct.h 2004/02/04 04:03:46
***************
*** 101,106 ****
--- 101,108 ----
string_vector map_keys (void) const { return map.keys (); }
+ void compute_size (long &elements, long &bytes) const;
+
void print (std::ostream& os, bool pr_as_read_syntax = false) const;
void print_raw (std::ostream& os, bool pr_as_read_syntax = false) const;
Index: octave/src/ov-va-args.h
===================================================================
RCS file: /cvs/octave/src/ov-va-args.h,v
retrieving revision 1.9
diff -c -r1.9 ov-va-args.h
*** octave/src/ov-va-args.h 2002/05/15 03:21:01 1.9
--- octave/src/ov-va-args.h 2004/02/04 04:03:46
***************
*** 62,67 ****
--- 62,69 ----
bool is_all_va_args (void) const { return true; }
+ void compute_size (long& elements, long& bytes) const { elements = 1; bytes = 0; }
+
void print (std::ostream& os, bool pr_as_read_syntax = false) const;
void print_raw (std::ostream& os, bool pr_as_read_syntax = false) const;
Index: octave/src/ov.cc
===================================================================
RCS file: /cvs/octave/src/ov.cc,v
retrieving revision 1.103
diff -c -r1.103 ov.cc
*** octave/src/ov.cc 2004/01/21 03:28:31 1.103
--- octave/src/ov.cc 2004/02/04 04:03:47
***************
*** 1888,1893 ****
--- 1888,1907 ----
return retval;
}
+ void
+ octave_value::compute_size (long &elements, long &bytes) const
+ {
+ if (rep && count > 1)
+ {
+ rep->compute_size (elements, bytes);
+ }
+ else
+ {
+ elements = 1;
+ bytes = sizeof (octave_value);
+ }
+ }
+
void
install_types (void)
{
Index: octave/src/ov.h
===================================================================
RCS file: /cvs/octave/src/ov.h,v
retrieving revision 1.98
diff -c -r1.98 ov.h
*** octave/src/ov.h 2004/01/21 03:28:31 1.98
--- octave/src/ov.h 2004/02/04 04:03:47
***************
*** 336,341 ****
--- 336,343 ----
int ndims (void) const;
+ virtual void compute_size (long &elements, long &bytes) const;
+
int numel (void) const;
virtual octave_value reshape (const dim_vector& dv) const
Index: octave/src/symtab.cc
===================================================================
RCS file: /cvs/octave/src/symtab.cc,v
retrieving revision 1.99
diff -c -r1.99 symtab.cc
*** octave/src/symtab.cc 2003/12/18 15:35:09 1.99
--- octave/src/symtab.cc 2004/02/04 04:03:48
***************
*** 47,52 ****
--- 47,55 ----
#include "utils.h"
#include "variables.h"
+ #include "gripes.h"
+ #include "lo-mappers.h"
+
unsigned long int symbol_table::symtab_count = 0;
// Should variables be allowed to hide functions of the same name? A
***************
*** 57,62 ****
--- 60,75 ----
// Nonzero means we print debugging info about symbol table lookups.
static int Vdebug_symtab_lookups;
+ // Sets the number of dimensions that are to be printed by who or whos
+ int Vwho_print_dims;
+
+ // If true, set output of who and whos to print names at the
+ // start of the lines.
+ // If false, set output of who and whos to print names
+ // at the ends of the lines.
+ // It also effects other aspects of the printing of symbols.
+ bool Vwho_traditional;
+
octave_allocator
symbol_record::symbol_def::allocator (sizeof (symbol_record::symbol_def));
***************
*** 410,442 ****
}
}
! void
! symbol_record::print_symbol_info_line (std::ostream& os) const
{
! os << (is_read_only () ? " r-" : " rw")
! << (is_static () || is_eternal () ? "-" : "d")
! << " "
! << std::setiosflags (std::ios::left) << std::setw (24)
! << type_name () . c_str ();
! os << std::resetiosflags (std::ios::left);
! int nr = rows ();
! int nc = columns ();
! if (nr < 0)
! os << " -";
! else
! os << std::setiosflags (std::ios::right) << std::setw (7) << nr;
! if (nc < 0)
! os << " -";
! else
! os << std::setiosflags (std::ios::right) << std::setw (7) << nc;
! os << std::resetiosflags (std::ios::right);
! os << " " << name () << "\n";
}
void
--- 423,560 ----
}
}
! std::string
! symbol_record::make_dimensions_string (unsigned int& first_param_space,
! unsigned int& total_space) const
{
! // This method makes the dimensions-string, which is a string that
! // how large a object is, dimensionally.
! // Example: a is a 2x3 matrix
! long dim = 0;
! // Calculating dimensions
! std::string dim_str = "";
! std::stringstream ss;
! dim_vector dimensions;
! if (is_variable ())
! {
! if (is_matrix_type ())
! {
! dimensions = dims ();
! dim = dimensions.length ();
! }
! }
! first_param_space = (first_param_space >= 1 ? first_param_space : 1);
! total_space = (total_space >= 1 ? total_space : 1);
! // Preparing dimension string
! if (dim <= Vwho_print_dims || Vwho_print_dims < 0)
! {
! // Only printing the dimension string as: axbxc...
! if (dim == 0)
! {
! if (Vwho_traditional)
! ss << setiosflags (std::ios::right) << std::setw (first_param_space)
! << "1" << resetiosflags (std::ios::right) << "x1";
! else ss << "1";
! }
! else
! {
! for (int i = 0; i < dim; i++)
! {
! if ((i == 0) && Vwho_traditional)
! {
! if (dim == 1)
! // Looks like this is not going to happen in Octave, but ...
! ss << setiosflags (std::ios::right) << std::setw (first_param_space)
! << "1" << resetiosflags (std::ios::right) << "x" << dimensions (i);
! else
! {
! ss << setiosflags (std::ios::right) << std::setw (first_param_space)
! << dimensions (i) << resetiosflags (std::ios::right);
! dim_str = ss.str ();
! first_param_space = (dim_str.length () > first_param_space ?
! dim_str.length () : first_param_space);
! }
! }
! else
! ss << dimensions(i);
! if (i < dim - 1 && dim != 1)
! ss << "x";
! }
! }
! }
! else
! {
! // Printing dimension string as: a-D
! if (Vwho_traditional)
! {
! ss << setiosflags (std::ios::right) << std::setw (first_param_space)
! << dim << resetiosflags (std::ios::right);
! dim_str = ss.str ();
! first_param_space = (dim_str.length () > first_param_space ?
! dim_str.length () : first_param_space);
! }
! else ss << dim;
!
! ss << "-D";
! }
!
! dim_str = ss.str ();
! total_space = (dim_str.length () > total_space ?
! dim_str.length () : total_space);
!
! return dim_str;
! }
!
! void
! symbol_record::print_symbol_info_line (std::ostream& os, unsigned int name_length,
! long &elements, long &bytes,
! unsigned int& first_param_space,
! unsigned int& total_space) const
! {
! // This method prints a line of information on a given symbol
!
! if (Vwho_traditional)
! {
! compute_size (elements, bytes);
!
! // -Printing variable name
! os << " "
! << std::setiosflags (std::ios::left) << std::setw (name_length)
! << name ()
! << std::resetiosflags (std::ios::left)
! // -Printing dimensions
! << std::setiosflags (std::ios::left)
! << std::setw(total_space) << make_dimensions_string (first_param_space, total_space)
! << std::resetiosflags (std::ios::left) << " "
! // -Printing bytes
! << std::setiosflags (std::ios::right) << std::setw (13)
! << bytes
! << std::resetiosflags (std::ios::right)
! // -Printing type name
! << " " << type_name () . c_str ()
! << "\n";
! }
! else
! {
! // Printing info the Octave way
! // who_traditional = false
! os << (is_read_only () ? " r-" : " rw")
! << (is_static () || is_eternal () ? "-" : "d")
! << " "
! << std::setiosflags (std::ios::left) << std::setw (24)
! << type_name () . c_str ()
! << std::resetiosflags (std::ios::left)
! << std::setiosflags (std::ios::right) << std::setw (total_space)
! << make_dimensions_string (first_param_space, total_space)
! << std::resetiosflags (std::ios::right)
! << " " << name () << "\n";
! }
}
void
***************
*** 913,918 ****
--- 1031,1042 ----
std::ostream& os, bool show_verbose,
unsigned type, unsigned scope)
{
+ // This method prints information for sets of symbols, but only one set
+ // at a time (like, for instance: all variables, og all
+ // built-in-functions)
+
+ // This method invokes print_symbol_info_line to print info on every symbol
+
int status = 0;
if (show_verbose)
***************
*** 923,937 ****
if (len > 0)
{
! os << "\n" << header << "\n\n"
! << "prot type rows cols name\n"
! << "==== ==== ==== ==== ====\n";
symbols.qsort (maybe_list_cmp_fcn);
for (int i = 0; i < len; i++)
! symbols(i)->print_symbol_info_line (os);
status = 1;
}
}
--- 1047,1132 ----
if (len > 0)
{
! if (header[0] != 0)
! os << "\n" << header << "\n\n";
!
! // First parameter in the dimensions vector will by default occupy 6 columns
! // Total space for Size will by default be 16 columns (traditionally) or 14 columns
! unsigned int name_length = 0, first_param_space = 6, total_space = 12;
! long elements = 0, bytes = 0, elements1, bytes1;
!
! std::string str;
+ if (Vwho_traditional)
+ total_space = 16;
+
symbols.qsort (maybe_list_cmp_fcn);
+ // Calculating necessary spacing for name-column and size-column
for (int i = 0; i < len; i++)
! {
! str = symbols(i)->name ();
! if (str.length () > name_length) name_length = str.length ();
!
! symbols(i)->make_dimensions_string (first_param_space, total_space);
! }
+ if (Vwho_traditional)
+ {
+ // Continue calculating necessary spacing for columns
+ for (int i = 0; i < len; i++)
+ symbols(i)->make_dimensions_string (first_param_space, total_space);
+
+ name_length += 2; // Adding space between two columns
+ name_length = ((name_length >= 5) ? name_length : 5);
+
+ os << " "
+ << std::setiosflags (std::ios::left)
+ << std::setw (name_length)
+ << "Name" << std::resetiosflags (std::ios::left)
+ << std::setiosflags (std::ios::right)
+ << std::setw (3 + first_param_space)
+ << "Size" << std::resetiosflags (std::ios::right)
+ << std::setiosflags (std::ios::left)
+ << std::setw (total_space - first_param_space - 3)
+ << " " << std::resetiosflags (std::ios::left)
+ << std::setiosflags (std::ios::right) << std::setw (15)
+ << "Bytes"
+ << std::resetiosflags (std::ios::right)
+ << " Class\n\n";
+ }
+ else
+ {
+ // who_traditional = false
+
+ total_space += 2;
+
+ os << "prot type "
+ << std::setiosflags (std::ios::right) << std::setw (total_space)
+ << "dimensions" << std::resetiosflags (std::ios::right) << " name\n"
+ << "==== ==== "
+ << std::setiosflags (std::ios::right)
+ << std::setw (total_space) << "=========="
+ << std::resetiosflags (std::ios::right) << " ====\n";
+
+ name_length = 0;
+ }
+
+ for (int i = 0; i < len; i++)
+ {
+ symbols(i)->print_symbol_info_line (os, name_length, elements1,
+ bytes1, first_param_space, total_space);
+ elements += elements1;
+ bytes += bytes1;
+ }
+
+ if (Vwho_traditional)
+ {
+ // who_style = traditional
+ os << "\nGrand total is " << elements
+ << " elements using " << bytes << " bytes\n";
+ }
+
status = 1;
}
}
***************
*** 940,950 ****
string_vector symbols = name_list (argv, 1, type, scope);
if (! symbols.empty ())
! {
! os << "\n" << header << "\n\n";
symbols.list_in_columns (os);
status = 1;
}
}
--- 1135,1149 ----
string_vector symbols = name_list (argv, 1, type, scope);
if (! symbols.empty ())
! {
! if (Vwho_traditional)
! os << "\nYour variables are:\n\n";
symbols.list_in_columns (os);
+ if (Vwho_traditional)
+ os << "\n";
+
status = 1;
}
}
***************
*** 1107,1112 ****
--- 1306,1337 ----
return 0;
}
+ static int
+ who_print_dims (void)
+ {
+ double val;
+ if (builtin_real_scalar_variable ("who_print_dims", val)
+ && ! xisnan (val))
+ {
+ int ival = NINT (val);
+ if (ival == val)
+ {
+ Vwho_print_dims = ival;
+ return 0;
+ }
+ }
+ gripe_invalid_value_specified ("who_print_dims");
+ return -1;
+ }
+
+ static int
+ who_traditional (void)
+ {
+ Vwho_traditional = check_preference ("who_traditional");
+
+ return 0;
+ }
+
void
symbols_of_symtab (void)
{
***************
*** 1122,1128 ****
"-*- texinfo -*-\n\
@defvr debug_symtab_lookups\n\
If the value of htis variable is nonzero, print debugging info when\n\
! searching for symbols in the symbol tables");
}
--- 1347,1377 ----
"-*- texinfo -*-\n\
@defvr debug_symtab_lookups\n\
If the value of htis variable is nonzero, print debugging info when\n\
! searching for symbols in the symbol tables\n\
! @end defvr");
!
! DEFVAR (who_print_dims, -1.0, who_print_dims,
! "-*- texinfo -*-\n\
! @defvr {Built-in Variable} who_print_dims\n\
! The value of @code{who_print_dims} decides how many dimensions that are \n\
! to be printed when issuing the @code{who} og @code{whos} commands. If\n\
! dimensions of the object to be printed are less than or\n\
! equal to @code{who_print_dims}, dimensions of the object are printed as\n\
! X-D.\n\
! Negative numbers means there is no limit.\n\
! @end defvr\n\
! @seealso {who_traditional}");
!
! DEFVAR (who_traditional, false, who_traditional,
! "-*- texinfo -*-\n\
! @defvr {Built-in Variable} who_traditional\n\
! If the value of @code{who_traditional} is @code{TRUE}, variables are\n\
! printed with the name of the variables at the start of the lines when @code{who} or @code{whos}\n\
! are issued. If, however, the value of @code{who_traditional} is @code{FALSE}, variables\n\
! are printed with the names of the variables at the end of the lines when these commands\n\
! are issued. The default value is FALSE.\n\
! @end defvr\n\
! @seealso {who_print_dims}");
}
Index: octave/src/symtab.h
===================================================================
RCS file: /cvs/octave/src/symtab.h,v
retrieving revision 1.66
diff -c -r1.66 symtab.h
*** octave/src/symtab.h 2003/02/13 21:03:04 1.66
--- octave/src/symtab.h 2004/02/04 04:03:49
***************
*** 146,151 ****
--- 146,160 ----
bool is_eternal (void) const
{ return eternal; }
+ bool is_matrix_type (void) const
+ { return definition.is_matrix_type (); }
+
+ void compute_size (long &elements, long &bytes) const
+ { definition.compute_size (elements, bytes); }
+
+ dim_vector dims (void) const
+ { return definition.dims (); }
+
int rows (void) const { return definition.rows (); }
int columns (void) const { return definition.columns (); }
***************
*** 325,330 ****
--- 334,350 ----
bool is_static (void) const { return tagged_static; }
void unmark_static (void) { tagged_static = false; }
+ bool is_matrix_type (void) const
+ { return definition->is_matrix_type (); }
+
+ void compute_size (long &elements, long &bytes) const
+ { definition->compute_size (elements, bytes); }
+
+ dim_vector dims (void) const { return definition->dims (); }
+
+ std::string make_dimensions_string (unsigned int& first_param_space,
+ unsigned int& total_spacing) const;
+
int rows (void) const { return definition->rows (); }
int columns (void) const { return definition->columns (); }
***************
*** 351,357 ****
void pop_context (void);
! void print_symbol_info_line (std::ostream& os) const;
void print_info (std::ostream& os,
const std::string& prefix = std::string ()) const;
--- 371,380 ----
void pop_context (void);
! void print_symbol_info_line (std::ostream& os, unsigned int name_length,
! long &elements, long &bytes,
! unsigned int& first_param_space,
! unsigned int& total_space) const;
void print_info (std::ostream& os,
const std::string& prefix = std::string ()) const;
***************
*** 519,524 ****
--- 542,557 ----
symbol_table& operator = (const symbol_table&);
};
+
+ // Sets the number of dimensions that are to be printed by who or whos
+ extern int Vwho_print_dims;
+
+ // If "traditional", set output of who and whos to print names at the
+ // start of the lines.
+ // If "non-traditional", set output of who and whos to print names
+ // at the ends of the lines.
+ // It also effects other aspects of the printing of symbols.
+ extern bool Vwho_traditional;
#endif
Index: octave/src/variables.cc
===================================================================
RCS file: /cvs/octave/src/variables.cc,v
retrieving revision 1.255
diff -c -r1.255 variables.cc
*** octave/src/variables.cc 2004/01/21 03:28:31 1.255
--- octave/src/variables.cc 2004/02/04 04:03:50
***************
*** 1109,1128 ****
static octave_value
do_who (int argc, const string_vector& argv, int return_list)
{
octave_value retval;
bool show_builtins = false;
bool show_functions = false;
bool show_variables = false;
bool show_verbose = false;
std::string my_name = argv[0];
int i;
for (i = 1; i < argc; i++)
{
! if (argv[i] == "-all" || argv[i] == "-a")
! {
show_builtins = true;
show_functions = true;
show_variables = true;
--- 1109,1139 ----
static octave_value
do_who (int argc, const string_vector& argv, int return_list)
{
+ // XXX FIXME XXX -- unable to retrieve useful information
+ // from global variables
+
octave_value retval;
bool show_builtins = false;
bool show_functions = false;
bool show_variables = false;
bool show_verbose = false;
+ bool show_global = false;
std::string my_name = argv[0];
+ if (Vwho_traditional)
+ show_variables = true;
+
int i;
for (i = 1; i < argc; i++)
{
! if (argv[i] == "-global")
! {
! show_global = true;
! }
! else if (argv[i] == "-all" || argv[i] == "-a")
! {
show_builtins = true;
show_functions = true;
show_variables = true;
***************
*** 1235,1241 ****
show_verbose, symbol_record::BUILTIN_VARIABLE, SYMTAB_ALL_SCOPES);
pad_after += fbi_sym_tab->maybe_list
! ("*** built-in functions:", pats, octave_stdout,
show_verbose, symbol_record::BUILTIN_FUNCTION, SYMTAB_ALL_SCOPES);
}
--- 1246,1252 ----
show_verbose, symbol_record::BUILTIN_VARIABLE, SYMTAB_ALL_SCOPES);
pad_after += fbi_sym_tab->maybe_list
! ("*** built-in functions:", pats, octave_stdout,
show_verbose, symbol_record::BUILTIN_FUNCTION, SYMTAB_ALL_SCOPES);
}
***************
*** 1254,1271 ****
if (show_variables)
{
! pad_after += curr_sym_tab->maybe_list
! ("*** local user variables:", pats, octave_stdout,
! show_verbose, symbol_record::USER_VARIABLE, SYMTAB_LOCAL_SCOPE);
!
! pad_after += curr_sym_tab->maybe_list
! ("*** globally visible user variables:", pats,
! octave_stdout, show_verbose, symbol_record::USER_VARIABLE,
! SYMTAB_GLOBAL_SCOPE);
}
-
- if (pad_after)
- octave_stdout << "\n";
}
return retval;
--- 1265,1305 ----
if (show_variables)
{
! if (Vwho_traditional)
! {
! std::string header;
! unsigned scope;
!
! if(show_functions && (show_builtins || show_functions))
! {
! if (show_global)
! header = "*** globally visible user variables:";
! else
! header = "*** local and globally visible user variables:";
! }
! else
! header = "";
!
! scope = (show_global ? (SYMTAB_GLOBAL_SCOPE | SYMTAB_LOCAL_SCOPE) : SYMTAB_LOCAL_SCOPE);
!
! pad_after += curr_sym_tab->maybe_list
! (header.c_str (), pats, octave_stdout, show_verbose,
! symbol_record::USER_VARIABLE,
! SYMTAB_LOCAL_SCOPE | SYMTAB_GLOBAL_SCOPE);
! }
! else
! {
! pad_after += curr_sym_tab->maybe_list
! ("*** local user variables:", pats, octave_stdout,
! show_verbose, symbol_record::USER_VARIABLE,
! SYMTAB_LOCAL_SCOPE);
!
! pad_after += curr_sym_tab->maybe_list
! ("*** globally visible user variables:", pats,
! octave_stdout, show_verbose,
! symbol_record::USER_VARIABLE, SYMTAB_GLOBAL_SCOPE);
! }
}
}
return retval;
***************
*** 1299,1304 ****
--- 1333,1341 ----
\n\
@item -variables\n\
List user-defined variables.\n\
+ \n\
+ @item -global\n\
+ List global user-defined variables only.\n\
@end table\n\
\n\
Valid patterns are the same as described for the @code{clear} command\n\
***************
*** 1307,1313 ****
visible in the local scope are displayed.\n\
\n\
The command @kbd{whos} is equivalent to @kbd{who -long}.\n\
! @end deffn")
{
octave_value retval;
--- 1344,1351 ----
visible in the local scope are displayed.\n\
\n\
The command @kbd{whos} is equivalent to @kbd{who -long}.\n\
! @end deffn\n\
! @seealso {who_traditional, who_print_dims, machine_readable}")
{
octave_value retval;
|