#! /bin/sh # # To apply this patch, cd to the top level Octave source directory and # run this file through /bin/sh. It will first remove any files that # have been deleted from the source distribution since the last # release and then update the sources with patch(1). # # Diffs for updating *.ps, *.dvi, *.info*, and *.html files are not # included because they can be recreated from the Texinfo files using # TeX, makeinfo, or texi2html. # # Diffs for updating parse.cc and y.tab.h are not included because # they can be recreated from the file parse.y using bison. # # Diffs for updating lex.cc are not included because it can be # recreated from lex.l using flex. # # John W. Eaton # jwe@bevo.che.wisc.edu # University of Wisconsin-Madison # Department of Chemical Engineering if test -f src/octave.cc ; then true else echo '***********************************************************' 1>&2 echo 'You must run this script in the top-level octave directory!' 1>&2 echo '***********************************************************' 1>&2 exit 1 fi ### ### Special commands should go here. ### echo 'patching existing files' patch -p1 << \PATCH_EOF diff -cNr octave-3.0.0/ChangeLog octave-3.0.1/ChangeLog *** octave-3.0.0/ChangeLog Fri Dec 21 12:46:09 2007 --- octave-3.0.1/ChangeLog Mon Apr 21 12:00:19 2008 *************** *** 1,3 **** --- 1,25 ---- + 2008-04-09 Rafael Laboissiere + + * example/octave.desktop.in: Drop the Encoding key, which is + deprecated by the FreeDesktop standard. + + 2008-04-03 Tatsuro MATSUOKA + + * README.Cygwin: Update. + + 2008-03-11 David Bateman + + * run-octave.in: Fix typo. + + 2008-02-21 John W. Eaton + + * examples/Makefile.in (install install-strip): Ignore errors + installing octave.desktop file. + + 2008-02-15 John W. Eaton + + * configure.in (*-*-freebsd*, *-*-openbsd*): Don't set SH_LD. + 2007-12-21 John W. Eaton Version 3.0.0 released. diff -cNr octave-3.0.0/README.Cygwin octave-3.0.1/README.Cygwin *** octave-3.0.0/README.Cygwin Wed Oct 31 16:35:10 2007 --- octave-3.0.1/README.Cygwin Mon Apr 21 11:58:38 2008 *************** *** 12,21 **** Cygwin mailing lists for threads related to "sjlj exception handling" (or similar). John W. Eaton jwe@bevo.che.wisc.edu University of Wisconsin-Madison Department of Chemical & Biological Engineering ! Last updated: Wed, 31 Oct 2007 16:21:43 EDT --- 12,58 ---- Cygwin mailing lists for threads related to "sjlj exception handling" (or similar). + There are also two "unofficial" Octave distributions for Cygwin: + + 1. http://www.geocities.jp/tmacchant + + The binaries here are built using gcc-3.4.4-3 configured with + --disable-sjlj-exceptions. Performance is improved by using DWARF + exception handling instead of setjump/longjump exception + handling. However, to build dynamically loaded .oct files that + will work with this version of Octave, you must use the same + specially configured version of GCC that was used to build Octave + itself and not the version of GCC that is distributed with + Cygwin. + + This binary is maintained by Tatsuro Matsuroka. + + + 2. http://matzeri.altervista.org + + The binaries here aim to be an officail cygwin distribution of + Octave-3.0.x and are built using the version of GCC distributed + with Cygwin. Performance of linear algebra functions is fine, but + the performance of the scripting language interpreter suffers + because of the setjump/longjump exception handling model used in + the version of GCC distributed with Cygwin. The advantage is that + you don't need a special version of GCC. + + This binary is maintained by Marco Atzeri + + We hope that Cygwin will eventually have a version of GCC that does + not suffer from the performance problem related to setjump/longjump + exception handling. + John W. Eaton jwe@bevo.che.wisc.edu University of Wisconsin-Madison Department of Chemical & Biological Engineering ! Tatsuro MATSUOKA ! tmacchant@yahoo.co.jp ! Department of Molecular Design and Engineering, ! Gradudate School of Engineering, Nagoya University. ! ! Last updated: Thu, 03 Apr 2008 22:01:48 EDT diff -cNr octave-3.0.0/configure octave-3.0.1/configure *** octave-3.0.0/configure Fri Dec 21 15:14:32 2007 --- octave-3.0.1/configure Mon Apr 21 12:14:09 2008 *************** *** 1,5 **** #! /bin/sh ! # From configure.in Revision: 1.572 . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.61. # --- 1,5 ---- #! /bin/sh ! # From configure.in Revision: 1.601 . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.61. # *************** *** 15737,15747 **** SH_LDFLAGS=-Bshareable ;; *-*-openbsd*) - SH_LD='$(CXX)' SH_LDFLAGS='-shared -fPIC' ;; *-*-freebsd*) - SH_LD='$(CC)' SH_LDFLAGS="-shared -Wl,-x" RLD_FLAG='-Wl,-rpath -Wl,$(octlibdir)' ;; --- 15737,15745 ---- diff -cNr octave-3.0.0/configure.in octave-3.0.1/configure.in *** octave-3.0.0/configure.in Thu Dec 6 17:05:23 2007 --- octave-3.0.1/configure.in Mon Apr 21 12:00:19 2008 *************** *** 3,9 **** dnl Process this file with autoconf to produce a configure script. dnl dnl Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, ! dnl 2002, 2003, 2004, 2005, 2006, 2007 John W. Eaton ### ### This file is part of Octave. ### --- 3,9 ---- dnl Process this file with autoconf to produce a configure script. dnl dnl Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, ! dnl 2002, 2003, 2004, 2005, 2006, 2007, 2008 John W. Eaton ### ### This file is part of Octave. ### *************** *** 29,35 **** EXTERN_CXXFLAGS="$CXXFLAGS" AC_INIT ! AC_REVISION($Revision: 1.572 $) AC_PREREQ(2.57) AC_CONFIG_SRCDIR([src/octave.cc]) AC_CONFIG_HEADER(config.h) --- 29,35 ---- EXTERN_CXXFLAGS="$CXXFLAGS" AC_INIT ! AC_REVISION($Revision: 1.601 $) AC_PREREQ(2.57) AC_CONFIG_SRCDIR([src/octave.cc]) AC_CONFIG_HEADER(config.h) *************** *** 970,980 **** SH_LDFLAGS=-Bshareable ;; *-*-openbsd*) - SH_LD='$(CXX)' SH_LDFLAGS='-shared -fPIC' ;; *-*-freebsd*) - SH_LD='$(CC)' SH_LDFLAGS="-shared -Wl,-x" RLD_FLAG='-Wl,-rpath -Wl,$(octlibdir)' ;; --- 970,978 ---- diff -cNr octave-3.0.0/doc/ChangeLog octave-3.0.1/doc/ChangeLog *** octave-3.0.0/doc/ChangeLog Fri Dec 21 12:46:25 2007 --- octave-3.0.1/doc/ChangeLog Mon Apr 21 12:02:49 2008 *************** *** 1,3 **** --- 1,21 ---- + 2008-04-21 John W. Eaton + + Version 3.0.1 released. + + 2008-04-03 Rafael Laboissiere + + * interpreter/octave.1, interpreter/octave-bug.1: + Drop unknown LO macro. + + 2008-03-19 Michael D. Godfrey + + * interpreter/plot.txi: Reorder symbol character table. + + 2008-03-18 Rafael Laboissiere + + * interpreter/octave.1, interpreter/mkoctfile.1: + Escape "-" signs that mean the "minus" character. + 2007-12-21 John W. Eaton Version 3.0.0 released. diff -cNr octave-3.0.0/doc/conf.texi octave-3.0.1/doc/conf.texi *** octave-3.0.0/doc/conf.texi Thu Dec 20 16:12:29 2007 --- octave-3.0.1/doc/conf.texi Mon Apr 21 12:56:30 2008 *************** *** 18,26 **** @set OCTAVE_MANUAL @set top_srcdir .. ! @set abs_top_srcdir /scratch/jwe/octave-3.0/octave @set OCTAVEHOME /usr/local ! @set VERSION 3.0.0 @set HAVE_COLAMD @set HAVE_CHOLMOD @set HAVE_UMFPACK --- 18,26 ---- @set OCTAVE_MANUAL @set top_srcdir .. ! @set abs_top_srcdir /scratch/jwe/release/octave-3.0 @set OCTAVEHOME /usr/local ! @set VERSION 3.0.1 @set HAVE_COLAMD @set HAVE_CHOLMOD @set HAVE_UMFPACK Binary files octave-3.0.0/doc/faq/Octave-FAQ.pdf and octave-3.0.1/doc/faq/Octave-FAQ.pdf differ Binary files octave-3.0.0/doc/interpreter/HTML/errorbar.png and octave-3.0.1/doc/interpreter/HTML/errorbar.png differ Binary files octave-3.0.0/doc/interpreter/HTML/hist.png and octave-3.0.1/doc/interpreter/HTML/hist.png differ diff -cNr octave-3.0.0/doc/interpreter/contributors.in octave-3.0.1/doc/interpreter/contributors.in *** octave-3.0.0/doc/interpreter/contributors.in Wed Dec 19 11:57:21 2007 --- octave-3.0.1/doc/interpreter/contributors.in Mon Apr 21 12:00:19 2008 *************** *** 13,18 **** --- 13,19 ---- Don Bindner Jakub Bogusz Moritz Borgmann + Richard Bovey Marcus Brinkmann Remy Bruno Marco Caliari *************** *** 64,69 **** --- 65,71 ---- Soren Hauberg Daniel Heiserer Yozo Hida + Ryan Hinton Roman Hodek A. Scottedward Hodel Richard Allan Holcombe *************** *** 94,99 **** --- 96,102 ---- Oyvind Kristiansen Piotr Krzyzanowski Volker Kuhlmann + Tetsuro Kurita Miroslaw Kwasniak Rafael Laboissiere Kai Labusch *************** *** 103,113 **** --- 106,118 ---- Dirk Laurie Maurice LeBrun Friedrich Leisch + Timo Lindfors Benjamin Lindner Ross Lippert David Livings Erik de Castro Lopo Massimo Lorenzin + Emil Lucretiu Hoxide Ma James Macnicol Jens-Uwe Mager *************** *** 136,141 **** --- 141,147 ---- Gabriele Pannocchia Sylvain Pelissier Per Persson + Primozz Peterlin Jim Peterson Danilo Piazzalunga Nicholas Piper *************** *** 149,154 **** --- 155,161 ---- Eric S. Raymond Balint Reczey Michael Reifenberger + Jason Riedy Petter Risholm Matthew W. Roberts Andrew Ross diff -cNr octave-3.0.0/doc/interpreter/contributors.texi octave-3.0.1/doc/interpreter/contributors.texi *** octave-3.0.0/doc/interpreter/contributors.texi Fri Dec 21 16:28:43 2007 --- octave-3.0.1/doc/interpreter/contributors.texi Mon Apr 21 12:58:28 2008 *************** *** 4,69 **** @item Ben Barrowes @tab Alexander Barth @tab David Bateman @item Heinz Bauschke @tab Karl Berry @tab David Billinghurst @item Don Bindner @tab Jakub Bogusz @tab Moritz Borgmann ! @item Marcus Brinkmann @tab Remy Bruno @tab Marco Caliari ! @item Daniel Calvelo @tab John C. Campbell @tab Jean-Francois Cardoso ! @item Joao Cardoso @tab Larrie Carr @tab David Castelow ! @item Vincent Cautaerts @tab Clinton Chee @tab Albert Chin-A-Young ! @item J. D. Cole @tab Martin Costabel @tab Michael Creel ! @item Jeff Cunningham @tab Martin Dalecki @tab Jorge Barros de Abreu ! @item Philippe Defert @tab Bill Denney @tab David M. Doolin ! @item Pascal A. Dupuis @tab John W. Eaton @tab Dirk Eddelbuettel ! @item Paul Eggert @tab Stephen Eglen @tab Peter Ekberg ! @item Rolf Fabian @tab Stephen Fegan @tab Ramon Garcia Fernandez ! @item Torsten Finke @tab Jose Daniel Munoz Frias @tab Castor Fu ! @item Eduardo Gallestey @tab Walter Gautschi @tab Klaus Gebhardt ! @item Driss Ghaddab @tab Nicolo Giorgetti @tab Michael Goffioul ! @item Glenn Golden @tab Tomislav Goles @tab Keith Goodman ! @item Etienne Grossmann @tab Peter Gustafson @tab Kai Habel ! @item William P. Y. Hadisoeseno @tab Benjamin Hall @tab Kim Hansen ! @item Soren Hauberg @tab Daniel Heiserer @tab Yozo Hida ! @item Roman Hodek @tab A. Scottedward Hodel @tab Richard Allan Holcombe ! @item Tom Holroyd @tab David Hoover @tab Kurt Hornik ! @item Christopher Hulbert @tab Cyril Humbert @tab Teemu Ikonen ! @item Alan W. Irwin @tab Geoff Jacobsen @tab Mats Jansson ! @item Cai Jianming @tab Steven G. Johnson @tab Heikki Junes ! @item Atsushi Kajita @tab Mohamed Kamoun @tab Lute Kamstra ! @item Thomas Kasper @tab Joel Keay @tab Mumit Khan ! @item Paul Kienzle @tab Aaron A. King @tab Arno J. Klaassen ! @item Geoffrey Knauth @tab Heine Kolltveit @tab Ken Kouno ! @item Oyvind Kristiansen @tab Piotr Krzyzanowski @tab Volker Kuhlmann @item Miroslaw Kwasniak @tab Rafael Laboissiere @tab Kai Labusch @item Claude Lacoursiere @tab Walter Landry @tab Bill Lash @item Dirk Laurie @tab Maurice LeBrun @tab Friedrich Leisch ! @item Benjamin Lindner @tab Ross Lippert @tab David Livings ! @item Erik de Castro Lopo @tab Massimo Lorenzin @tab Hoxide Ma ! @item James Macnicol @tab Jens-Uwe Mager @tab Ricardo Marranita ! @item Orestes Mas @tab Makoto Matsumoto @tab Tatsuro Matsuoka ! @item Laurent Mazet @tab G. D. McBain @tab Christoph Mayer ! @item Stefan Monnier @tab Antoine Moreau @tab Kai P. Mueller ! @item Victor Munoz @tab Carmen Navarrete @tab Todd Neal ! @item Al Niessner @tab Rick Niles @tab Takuji Nishimura ! @item Eric Norum @tab Michael O'Brien @tab Thorsten Ohl ! @item Arno Onken @tab Luis F. Ortiz @tab Scott Pakin ! @item Gabriele Pannocchia @tab Sylvain Pelissier @tab Per Persson @item Jim Peterson @tab Danilo Piazzalunga @tab Nicholas Piper @item Hans Ekkehard Plesser @tab Tom Poage @tab Orion Poplawski @item Ondrej Popp @tab Jef Poskanzer @tab Francesco Potorti @item James B. Rawlings @tab Eric S. Raymond @tab Balint Reczey ! @item Michael Reifenberger @tab Petter Risholm @tab Matthew W. Roberts ! @item Andrew Ross @tab Mark van Rossum @tab Kevin Ruland ! @item Olli Saarela @tab Toni Saarela @tab Juhani Saastamoinen ! @item Ben Sapp @tab Alois Schloegl @tab Michel D. Schmid ! @item Nicol N. Schraudolph @tab Sebastian Schubert @tab Ludwig Schwardt ! @item Daniel J. Sebald @tab Dmitri A. Sergatskov @tab Baylis Shanks ! @item Joseph P. Skudlarek @tab John Smith @tab Julius Smith ! @item Shan G. Smith @tab Joerg Specht @tab Quentin H. Spencer ! @item Christoph Spiel @tab Richard Stallman @tab Russell Standish ! @item Doug Stewart @tab Thomas Stuart @tab John Swensen ! @item Ariel Tankus @tab Georg Thimm @tab Duncan Temple Lang ! @item Olaf Till @tab Thomas Treichl @tab Utkarsh Upadhyay ! @item Stefan van der Walt @tab Peter Van Wieren @tab James R. Van Zandt ! @item Gregory Vanuxem @tab Ivana Varekova @tab Thomas Walter ! @item Olaf Weber @tab Thomas Weber @tab Bob Weigel ! @item Andreas Weingessel @tab Michael Weitzel @tab Fook Fah Yap ! @item Michael Zeising @tab Federico Zenith @tab Alex Zvoleff @end multitable --- 4,72 ---- @item Ben Barrowes @tab Alexander Barth @tab David Bateman @item Heinz Bauschke @tab Karl Berry @tab David Billinghurst @item Don Bindner @tab Jakub Bogusz @tab Moritz Borgmann ! @item Richard Bovey @tab Marcus Brinkmann @tab Remy Bruno ! @item Marco Caliari @tab Daniel Calvelo @tab John C. Campbell ! @item Jean-Francois Cardoso @tab Joao Cardoso @tab Larrie Carr ! @item David Castelow @tab Vincent Cautaerts @tab Clinton Chee ! @item Albert Chin-A-Young @tab J. D. Cole @tab Martin Costabel ! @item Michael Creel @tab Jeff Cunningham @tab Martin Dalecki ! @item Jorge Barros de Abreu @tab Philippe Defert @tab Bill Denney ! @item David M. Doolin @tab Pascal A. Dupuis @tab John W. Eaton ! @item Dirk Eddelbuettel @tab Paul Eggert @tab Stephen Eglen ! @item Peter Ekberg @tab Rolf Fabian @tab Stephen Fegan ! @item Ramon Garcia Fernandez @tab Torsten Finke @tab Jose Daniel Munoz Frias ! @item Castor Fu @tab Eduardo Gallestey @tab Walter Gautschi ! @item Klaus Gebhardt @tab Driss Ghaddab @tab Nicolo Giorgetti ! @item Michael Goffioul @tab Glenn Golden @tab Tomislav Goles ! @item Keith Goodman @tab Etienne Grossmann @tab Peter Gustafson ! @item Kai Habel @tab William P. Y. Hadisoeseno @tab Benjamin Hall ! @item Kim Hansen @tab Soren Hauberg @tab Daniel Heiserer ! @item Yozo Hida @tab Ryan Hinton @tab Roman Hodek ! @item A. Scottedward Hodel @tab Richard Allan Holcombe @tab Tom Holroyd ! @item David Hoover @tab Kurt Hornik @tab Christopher Hulbert ! @item Cyril Humbert @tab Teemu Ikonen @tab Alan W. Irwin ! @item Geoff Jacobsen @tab Mats Jansson @tab Cai Jianming ! @item Steven G. Johnson @tab Heikki Junes @tab Atsushi Kajita ! @item Mohamed Kamoun @tab Lute Kamstra @tab Thomas Kasper ! @item Joel Keay @tab Mumit Khan @tab Paul Kienzle ! @item Aaron A. King @tab Arno J. Klaassen @tab Geoffrey Knauth ! @item Heine Kolltveit @tab Ken Kouno @tab Oyvind Kristiansen ! @item Piotr Krzyzanowski @tab Volker Kuhlmann @tab Tetsuro Kurita @item Miroslaw Kwasniak @tab Rafael Laboissiere @tab Kai Labusch @item Claude Lacoursiere @tab Walter Landry @tab Bill Lash @item Dirk Laurie @tab Maurice LeBrun @tab Friedrich Leisch ! @item Timo Lindfors @tab Benjamin Lindner @tab Ross Lippert ! @item David Livings @tab Erik de Castro Lopo @tab Massimo Lorenzin ! @item Emil Lucretiu @tab Hoxide Ma @tab James Macnicol ! @item Jens-Uwe Mager @tab Ricardo Marranita @tab Orestes Mas ! @item Makoto Matsumoto @tab Tatsuro Matsuoka @tab Laurent Mazet ! @item G. D. McBain @tab Christoph Mayer @tab Stefan Monnier ! @item Antoine Moreau @tab Kai P. Mueller @tab Victor Munoz ! @item Carmen Navarrete @tab Todd Neal @tab Al Niessner ! @item Rick Niles @tab Takuji Nishimura @tab Eric Norum ! @item Michael O'Brien @tab Thorsten Ohl @tab Arno Onken ! @item Luis F. Ortiz @tab Scott Pakin @tab Gabriele Pannocchia ! @item Sylvain Pelissier @tab Per Persson @tab Primozz Peterlin @item Jim Peterson @tab Danilo Piazzalunga @tab Nicholas Piper @item Hans Ekkehard Plesser @tab Tom Poage @tab Orion Poplawski @item Ondrej Popp @tab Jef Poskanzer @tab Francesco Potorti @item James B. Rawlings @tab Eric S. Raymond @tab Balint Reczey ! @item Michael Reifenberger @tab Jason Riedy @tab Petter Risholm ! @item Matthew W. Roberts @tab Andrew Ross @tab Mark van Rossum ! @item Kevin Ruland @tab Olli Saarela @tab Toni Saarela ! @item Juhani Saastamoinen @tab Ben Sapp @tab Alois Schloegl ! @item Michel D. Schmid @tab Nicol N. Schraudolph @tab Sebastian Schubert ! @item Ludwig Schwardt @tab Daniel J. Sebald @tab Dmitri A. Sergatskov ! @item Baylis Shanks @tab Joseph P. Skudlarek @tab John Smith ! @item Julius Smith @tab Shan G. Smith @tab Joerg Specht ! @item Quentin H. Spencer @tab Christoph Spiel @tab Richard Stallman ! @item Russell Standish @tab Doug Stewart @tab Thomas Stuart ! @item John Swensen @tab Ariel Tankus @tab Georg Thimm ! @item Duncan Temple Lang @tab Olaf Till @tab Thomas Treichl ! @item Utkarsh Upadhyay @tab Stefan van der Walt @tab Peter Van Wieren ! @item James R. Van Zandt @tab Gregory Vanuxem @tab Ivana Varekova ! @item Thomas Walter @tab Olaf Weber @tab Thomas Weber ! @item Bob Weigel @tab Andreas Weingessel @tab Michael Weitzel ! @item Fook Fah Yap @tab Michael Zeising @tab Federico Zenith ! @item Alex Zvoleff @end multitable diff -cNr octave-3.0.0/doc/interpreter/convhull.eps octave-3.0.1/doc/interpreter/convhull.eps *** octave-3.0.0/doc/interpreter/convhull.eps Thu Dec 20 16:13:12 2007 --- octave-3.0.1/doc/interpreter/convhull.eps Mon Apr 21 12:57:08 2008 *************** *** 1,7 **** %!PS-Adobe-2.0 EPSF-2.0 %%Title: convhull.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Thu Dec 20 16:13:12 2007 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments --- 1,7 ---- %!PS-Adobe-2.0 EPSF-2.0 %%Title: convhull.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Mon Apr 21 12:57:08 2008 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments *************** *** 48,54 **** /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Thu Dec 20 16:13:12 2007) /DOCINFO pdfmark end } ifelse --- 48,54 ---- /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Mon Apr 21 12:57:08 2008) /DOCINFO pdfmark end } ifelse *************** *** 530,536 **** }{ /g {stroke pm3dround pm3dGamma exp setgray} bind def } ifelse ! 1.000 UL LTb 490 489 M 63 0 V --- 530,536 ---- }{ /g {stroke pm3dround pm3dGamma exp setgray} bind def } ifelse ! 0.500 UL LTb 490 489 M 63 0 V *************** *** 540,546 **** 0.00 0.00 0.00 C 406 489 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 1.000 UL LTb 490 1324 M 63 0 V --- 540,546 ---- 0.00 0.00 0.00 C 406 489 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 0.500 UL LTb 490 1324 M 63 0 V *************** *** 550,556 **** 0.00 0.00 0.00 C 406 1324 M [ [(Helvetica) 140.0 0.0 true true 0 (0.2)] ] -46.7 MRshow ! 1.000 UL LTb 490 2159 M 63 0 V --- 550,556 ---- 0.00 0.00 0.00 C 406 1324 M [ [(Helvetica) 140.0 0.0 true true 0 (0.2)] ] -46.7 MRshow ! 0.500 UL LTb 490 2159 M 63 0 V *************** *** 560,566 **** 0.00 0.00 0.00 C 406 2159 M [ [(Helvetica) 140.0 0.0 true true 0 (0.4)] ] -46.7 MRshow ! 1.000 UL LTb 490 2993 M 63 0 V --- 560,566 ---- 0.00 0.00 0.00 C 406 2159 M [ [(Helvetica) 140.0 0.0 true true 0 (0.4)] ] -46.7 MRshow ! 0.500 UL LTb 490 2993 M 63 0 V *************** *** 570,576 **** 0.00 0.00 0.00 C 406 2993 M [ [(Helvetica) 140.0 0.0 true true 0 (0.6)] ] -46.7 MRshow ! 1.000 UL LTb 490 3828 M 63 0 V --- 570,576 ---- 0.00 0.00 0.00 C 406 2993 M [ [(Helvetica) 140.0 0.0 true true 0 (0.6)] ] -46.7 MRshow ! 0.500 UL LTb 490 3828 M 63 0 V *************** *** 580,586 **** 0.00 0.00 0.00 C 406 3828 M [ [(Helvetica) 140.0 0.0 true true 0 (0.8)] ] -46.7 MRshow ! 1.000 UL LTb 490 4663 M 63 0 V --- 580,586 ---- 0.00 0.00 0.00 C 406 3828 M [ [(Helvetica) 140.0 0.0 true true 0 (0.8)] ] -46.7 MRshow ! 0.500 UL LTb 490 4663 M 63 0 V *************** *** 590,596 **** 0.00 0.00 0.00 C 406 4663 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MRshow ! 1.000 UL LTb 543 280 M 0 63 V --- 590,596 ---- 0.00 0.00 0.00 C 406 4663 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MRshow ! 0.500 UL LTb 543 280 M 0 63 V *************** *** 600,606 **** 0.00 0.00 0.00 C 543 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-3)] ] -46.7 MCshow ! 1.000 UL LTb 1604 280 M 0 63 V --- 600,606 ---- 0.00 0.00 0.00 C 543 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-3)] ] -46.7 MCshow ! 0.500 UL LTb 1604 280 M 0 63 V *************** *** 610,616 **** 0.00 0.00 0.00 C 1604 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-2)] ] -46.7 MCshow ! 1.000 UL LTb 2665 280 M 0 63 V --- 610,616 ---- 0.00 0.00 0.00 C 1604 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-2)] ] -46.7 MCshow ! 0.500 UL LTb 2665 280 M 0 63 V *************** *** 620,626 **** 0.00 0.00 0.00 C 2665 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-1)] ] -46.7 MCshow ! 1.000 UL LTb 3726 280 M 0 63 V --- 620,626 ---- 0.00 0.00 0.00 C 2665 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-1)] ] -46.7 MCshow ! 0.500 UL LTb 3726 280 M 0 63 V *************** *** 630,636 **** 0.00 0.00 0.00 C 3726 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 1.000 UL LTb 4787 280 M 0 63 V --- 630,636 ---- 0.00 0.00 0.00 C 3726 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 0.500 UL LTb 4787 280 M 0 63 V *************** *** 640,646 **** 0.00 0.00 0.00 C 4787 140 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MCshow ! 1.000 UL LTb 5848 280 M 0 63 V --- 640,646 ---- 0.00 0.00 0.00 C 4787 140 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MCshow ! 0.500 UL LTb 5848 280 M 0 63 V *************** *** 650,656 **** 0.00 0.00 0.00 C 5848 140 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MCshow ! 1.000 UL LTb 6909 280 M 0 63 V --- 650,656 ---- 0.00 0.00 0.00 C 5848 140 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MCshow ! 0.500 UL LTb 6909 280 M 0 63 V *************** *** 660,668 **** 0.00 0.00 0.00 C 6909 140 M [ [(Helvetica) 140.0 0.0 true true 0 (3)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 490 4872 N 490 280 L --- 660,668 ---- 0.00 0.00 0.00 C 6909 140 M [ [(Helvetica) 140.0 0.0 true true 0 (3)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 490 4872 N 490 280 L *************** *** 671,677 **** -6472 0 V Z stroke 1.000 UP ! 1.000 UL LTb 0.500 UL LT0 --- 671,677 ---- -6472 0 V Z stroke 1.000 UP ! 0.500 UL LTb 0.500 UL LT0 *************** *** 861,867 **** 6803 1487 Pls 6856 1284 Pls 6909 1078 Pls ! 1.000 UL LTb 490 4872 N 490 280 L --- 861,867 ---- 6803 1487 Pls 6856 1284 Pls 6909 1078 Pls ! 0.500 UL LTb 490 4872 N 490 280 L *************** *** 870,876 **** -6472 0 V Z stroke 1.000 UP ! 1.000 UL LTb stroke grestore --- 870,876 ---- -6472 0 V Z stroke 1.000 UP ! 0.500 UL LTb stroke grestore Binary files octave-3.0.0/doc/interpreter/convhull.pdf and octave-3.0.1/doc/interpreter/convhull.pdf differ diff -cNr octave-3.0.0/doc/interpreter/delaunay.eps octave-3.0.1/doc/interpreter/delaunay.eps *** octave-3.0.0/doc/interpreter/delaunay.eps Thu Dec 20 16:13:14 2007 --- octave-3.0.1/doc/interpreter/delaunay.eps Mon Apr 21 12:57:09 2008 *************** *** 1,7 **** %!PS-Adobe-2.0 EPSF-2.0 %%Title: delaunay.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Thu Dec 20 16:13:14 2007 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments --- 1,7 ---- %!PS-Adobe-2.0 EPSF-2.0 %%Title: delaunay.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Mon Apr 21 12:57:09 2008 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments *************** *** 48,54 **** /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Thu Dec 20 16:13:14 2007) /DOCINFO pdfmark end } ifelse --- 48,54 ---- /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Mon Apr 21 12:57:09 2008) /DOCINFO pdfmark end } ifelse *************** *** 530,536 **** }{ /g {stroke pm3dround pm3dGamma exp setgray} bind def } ifelse ! 1.000 UL LTb 490 280 M 63 0 V --- 530,536 ---- }{ /g {stroke pm3dround pm3dGamma exp setgray} bind def } ifelse ! 0.500 UL LTb 490 280 M 63 0 V *************** *** 540,546 **** 0.00 0.00 0.00 C 406 280 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 1.000 UL LTb 490 763 M 63 0 V --- 540,546 ---- 0.00 0.00 0.00 C 406 280 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 0.500 UL LTb 490 763 M 63 0 V *************** *** 550,556 **** 0.00 0.00 0.00 C 406 763 M [ [(Helvetica) 140.0 0.0 true true 0 (0.1)] ] -46.7 MRshow ! 1.000 UL LTb 490 1247 M 63 0 V --- 550,556 ---- 0.00 0.00 0.00 C 406 763 M [ [(Helvetica) 140.0 0.0 true true 0 (0.1)] ] -46.7 MRshow ! 0.500 UL LTb 490 1247 M 63 0 V *************** *** 560,566 **** 0.00 0.00 0.00 C 406 1247 M [ [(Helvetica) 140.0 0.0 true true 0 (0.2)] ] -46.7 MRshow ! 1.000 UL LTb 490 1730 M 63 0 V --- 560,566 ---- 0.00 0.00 0.00 C 406 1247 M [ [(Helvetica) 140.0 0.0 true true 0 (0.2)] ] -46.7 MRshow ! 0.500 UL LTb 490 1730 M 63 0 V *************** *** 570,576 **** 0.00 0.00 0.00 C 406 1730 M [ [(Helvetica) 140.0 0.0 true true 0 (0.3)] ] -46.7 MRshow ! 1.000 UL LTb 490 2213 M 63 0 V --- 570,576 ---- 0.00 0.00 0.00 C 406 1730 M [ [(Helvetica) 140.0 0.0 true true 0 (0.3)] ] -46.7 MRshow ! 0.500 UL LTb 490 2213 M 63 0 V *************** *** 580,586 **** 0.00 0.00 0.00 C 406 2213 M [ [(Helvetica) 140.0 0.0 true true 0 (0.4)] ] -46.7 MRshow ! 1.000 UL LTb 490 2697 M 63 0 V --- 580,586 ---- 0.00 0.00 0.00 C 406 2213 M [ [(Helvetica) 140.0 0.0 true true 0 (0.4)] ] -46.7 MRshow ! 0.500 UL LTb 490 2697 M 63 0 V *************** *** 590,596 **** 0.00 0.00 0.00 C 406 2697 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MRshow ! 1.000 UL LTb 490 3180 M 63 0 V --- 590,596 ---- 0.00 0.00 0.00 C 406 2697 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MRshow ! 0.500 UL LTb 490 3180 M 63 0 V *************** *** 600,606 **** 0.00 0.00 0.00 C 406 3180 M [ [(Helvetica) 140.0 0.0 true true 0 (0.6)] ] -46.7 MRshow ! 1.000 UL LTb 490 3664 M 63 0 V --- 600,606 ---- 0.00 0.00 0.00 C 406 3180 M [ [(Helvetica) 140.0 0.0 true true 0 (0.6)] ] -46.7 MRshow ! 0.500 UL LTb 490 3664 M 63 0 V *************** *** 610,616 **** 0.00 0.00 0.00 C 406 3664 M [ [(Helvetica) 140.0 0.0 true true 0 (0.7)] ] -46.7 MRshow ! 1.000 UL LTb 490 4147 M 63 0 V --- 610,616 ---- 0.00 0.00 0.00 C 406 3664 M [ [(Helvetica) 140.0 0.0 true true 0 (0.7)] ] -46.7 MRshow ! 0.500 UL LTb 490 4147 M 63 0 V *************** *** 620,626 **** 0.00 0.00 0.00 C 406 4147 M [ [(Helvetica) 140.0 0.0 true true 0 (0.8)] ] -46.7 MRshow ! 1.000 UL LTb 490 4630 M 63 0 V --- 620,626 ---- 0.00 0.00 0.00 C 406 4147 M [ [(Helvetica) 140.0 0.0 true true 0 (0.8)] ] -46.7 MRshow ! 0.500 UL LTb 490 4630 M 63 0 V *************** *** 630,636 **** 0.00 0.00 0.00 C 406 4630 M [ [(Helvetica) 140.0 0.0 true true 0 (0.9)] ] -46.7 MRshow ! 1.000 UL LTb 1114 280 M 0 63 V --- 630,636 ---- 0.00 0.00 0.00 C 406 4630 M [ [(Helvetica) 140.0 0.0 true true 0 (0.9)] ] -46.7 MRshow ! 0.500 UL LTb 1114 280 M 0 63 V *************** *** 640,646 **** 0.00 0.00 0.00 C 1114 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.1)] ] -46.7 MCshow ! 1.000 UL LTb 1894 280 M 0 63 V --- 640,646 ---- 0.00 0.00 0.00 C 1114 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.1)] ] -46.7 MCshow ! 0.500 UL LTb 1894 280 M 0 63 V *************** *** 650,656 **** 0.00 0.00 0.00 C 1894 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.2)] ] -46.7 MCshow ! 1.000 UL LTb 2673 280 M 0 63 V --- 650,656 ---- 0.00 0.00 0.00 C 1894 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.2)] ] -46.7 MCshow ! 0.500 UL LTb 2673 280 M 0 63 V *************** *** 660,666 **** 0.00 0.00 0.00 C 2673 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.3)] ] -46.7 MCshow ! 1.000 UL LTb 3453 280 M 0 63 V --- 660,666 ---- 0.00 0.00 0.00 C 2673 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.3)] ] -46.7 MCshow ! 0.500 UL LTb 3453 280 M 0 63 V *************** *** 670,676 **** 0.00 0.00 0.00 C 3453 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.4)] ] -46.7 MCshow ! 1.000 UL LTb 4233 280 M 0 63 V --- 670,676 ---- 0.00 0.00 0.00 C 3453 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.4)] ] -46.7 MCshow ! 0.500 UL LTb 4233 280 M 0 63 V *************** *** 680,686 **** 0.00 0.00 0.00 C 4233 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MCshow ! 1.000 UL LTb 5013 280 M 0 63 V --- 680,686 ---- 0.00 0.00 0.00 C 4233 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MCshow ! 0.500 UL LTb 5013 280 M 0 63 V *************** *** 690,696 **** 0.00 0.00 0.00 C 5013 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.6)] ] -46.7 MCshow ! 1.000 UL LTb 5792 280 M 0 63 V --- 690,696 ---- 0.00 0.00 0.00 C 5013 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.6)] ] -46.7 MCshow ! 0.500 UL LTb 5792 280 M 0 63 V *************** *** 700,706 **** 0.00 0.00 0.00 C 5792 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.7)] ] -46.7 MCshow ! 1.000 UL LTb 6572 280 M 0 63 V --- 700,706 ---- 0.00 0.00 0.00 C 5792 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.7)] ] -46.7 MCshow ! 0.500 UL LTb 6572 280 M 0 63 V *************** *** 710,718 **** 0.00 0.00 0.00 C 6572 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.8)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 490 4872 N 490 280 L --- 710,718 ---- 0.00 0.00 0.00 C 6572 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.8)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 490 4872 N 490 280 L *************** *** 721,727 **** -6472 0 V Z stroke 1.000 UP ! 1.000 UL LTb 0.500 UL LT0 --- 721,727 ---- -6472 0 V Z stroke 1.000 UP ! 0.500 UL LTb 0.500 UL LT0 *************** *** 808,814 **** 6484 4849 Star 1066 4637 Star 555 428 Star ! 1.000 UL LTb 490 4872 N 490 280 L --- 808,814 ---- 6484 4849 Star 1066 4637 Star 555 428 Star ! 0.500 UL LTb 490 4872 N 490 280 L *************** *** 817,823 **** -6472 0 V Z stroke 1.000 UP ! 1.000 UL LTb stroke grestore --- 817,823 ---- -6472 0 V Z stroke 1.000 UP ! 0.500 UL LTb stroke grestore Binary files octave-3.0.0/doc/interpreter/delaunay.pdf and octave-3.0.1/doc/interpreter/delaunay.pdf differ diff -cNr octave-3.0.0/doc/interpreter/dynamic.texi octave-3.0.1/doc/interpreter/dynamic.texi *** octave-3.0.0/doc/interpreter/dynamic.texi Fri Dec 21 16:28:40 2007 --- octave-3.0.1/doc/interpreter/dynamic.texi Mon Apr 21 12:58:24 2008 *************** *** 1,6 **** @c DO NOT EDIT! Generated automatically by munge-texi. ! @c Copyright (C) 2007 John W. Eaton and David Bateman @c Copyright (C) 2007 Paul Thomas and Christoph Spiel @c @c This file is part of Octave. --- 1,6 ---- @c DO NOT EDIT! Generated automatically by munge-texi. ! @c Copyright (C) 2007, 2008 John W. Eaton and David Bateman @c Copyright (C) 2007 Paul Thomas and Christoph Spiel @c @c This file is part of Octave. *************** *** 1747,1753 **** @{ for (octave_idx_type j = 0; j < n; j++) @{ ! a_matrix(row,column) = (i+1)*10 + (j+1); @} @} std::cout << a_matrix; --- 1747,1753 ---- @{ for (octave_idx_type j = 0; j < n; j++) @{ ! a_matrix (i, j) = (i + 1) * 10 + (j + 1); @} @} std::cout << a_matrix; diff -cNr octave-3.0.0/doc/interpreter/dynamic.txi octave-3.0.1/doc/interpreter/dynamic.txi *** octave-3.0.0/doc/interpreter/dynamic.txi Fri Nov 2 12:13:43 2007 --- octave-3.0.1/doc/interpreter/dynamic.txi Mon Apr 21 12:00:19 2008 *************** *** 1,4 **** ! @c Copyright (C) 2007 John W. Eaton and David Bateman @c Copyright (C) 2007 Paul Thomas and Christoph Spiel @c @c This file is part of Octave. --- 1,4 ---- ! @c Copyright (C) 2007, 2008 John W. Eaton and David Bateman @c Copyright (C) 2007 Paul Thomas and Christoph Spiel @c @c This file is part of Octave. *************** *** 1635,1641 **** @{ for (octave_idx_type j = 0; j < n; j++) @{ ! a_matrix(row,column) = (i+1)*10 + (j+1); @} @} std::cout << a_matrix; --- 1635,1641 ---- @{ for (octave_idx_type j = 0; j < n; j++) @{ ! a_matrix (i, j) = (i + 1) * 10 + (j + 1); @} @} std::cout << a_matrix; diff -cNr octave-3.0.0/doc/interpreter/emacs.texi octave-3.0.1/doc/interpreter/emacs.texi *** octave-3.0.0/doc/interpreter/emacs.texi Fri Dec 21 16:28:40 2007 --- octave-3.0.1/doc/interpreter/emacs.texi Mon Apr 21 12:58:24 2008 *************** *** 1,7 **** @c DO NOT EDIT! Generated automatically by munge-texi. @c Copyright (C) 1996, 1997, 1999, 2001, 2002, 2003, 2005, ! @c 2006, 2007 Kurt Hornik @c @c This file is part of Octave. @c --- 1,7 ---- @c DO NOT EDIT! Generated automatically by munge-texi. @c Copyright (C) 1996, 1997, 1999, 2001, 2002, 2003, 2005, ! @c 2006, 2007, 2008 Kurt Hornik @c @c This file is part of Octave. @c *************** *** 342,348 **** functions (such as @samp{cd} or @samp{who}) which are also reserved using @code{font-lock-keyword-face} @item ! the built-in operators (@samp{&&}, @samp{<>}, @dots{}) using @code{font-lock-reference-face} @item and the function names in function declarations in --- 342,348 ---- functions (such as @samp{cd} or @samp{who}) which are also reserved using @code{font-lock-keyword-face} @item ! the built-in operators (@samp{&&}, @samp{==}, @dots{}) using @code{font-lock-reference-face} @item and the function names in function declarations in diff -cNr octave-3.0.0/doc/interpreter/emacs.txi octave-3.0.1/doc/interpreter/emacs.txi *** octave-3.0.0/doc/interpreter/emacs.txi Fri Nov 2 12:13:43 2007 --- octave-3.0.1/doc/interpreter/emacs.txi Mon Apr 21 12:00:19 2008 *************** *** 1,5 **** @c Copyright (C) 1996, 1997, 1999, 2001, 2002, 2003, 2005, ! @c 2006, 2007 Kurt Hornik @c @c This file is part of Octave. @c --- 1,5 ---- @c Copyright (C) 1996, 1997, 1999, 2001, 2002, 2003, 2005, ! @c 2006, 2007, 2008 Kurt Hornik @c @c This file is part of Octave. @c *************** *** 340,346 **** functions (such as @samp{cd} or @samp{who}) which are also reserved using @code{font-lock-keyword-face} @item ! the built-in operators (@samp{&&}, @samp{<>}, @dots{}) using @code{font-lock-reference-face} @item and the function names in function declarations in --- 340,346 ---- functions (such as @samp{cd} or @samp{who}) which are also reserved using @code{font-lock-keyword-face} @item ! the built-in operators (@samp{&&}, @samp{==}, @dots{}) using @code{font-lock-reference-face} @item and the function names in function declarations in diff -cNr octave-3.0.0/doc/interpreter/errorbar.eps octave-3.0.1/doc/interpreter/errorbar.eps *** octave-3.0.0/doc/interpreter/errorbar.eps Thu Dec 20 16:13:19 2007 --- octave-3.0.1/doc/interpreter/errorbar.eps Mon Apr 21 12:57:14 2008 *************** *** 1,7 **** %!PS-Adobe-2.0 EPSF-2.0 %%Title: errorbar.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Thu Dec 20 16:13:19 2007 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments --- 1,7 ---- %!PS-Adobe-2.0 EPSF-2.0 %%Title: errorbar.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Mon Apr 21 12:57:14 2008 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments *************** *** 48,54 **** /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Thu Dec 20 16:13:19 2007) /DOCINFO pdfmark end } ifelse --- 48,54 ---- /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Mon Apr 21 12:57:14 2008) /DOCINFO pdfmark end } ifelse *************** *** 456,462 **** 0 setgray newpath (Helvetica) findfont 140 scalefont setfont ! 1.000 UL LTb 574 280 M 63 0 V --- 456,536 ---- 0 setgray newpath (Helvetica) findfont 140 scalefont setfont ! gsave % colour palette begin ! /maxcolors 64 def ! /HSV2RGB { exch dup 0.0 eq {pop exch pop dup dup} % achromatic gray ! { /HSVs exch def /HSVv exch def 6.0 mul dup floor dup 3 1 roll sub ! /HSVf exch def /HSVi exch cvi def /HSVp HSVv 1.0 HSVs sub mul def ! /HSVq HSVv 1.0 HSVs HSVf mul sub mul def ! /HSVt HSVv 1.0 HSVs 1.0 HSVf sub mul sub mul def ! /HSVi HSVi 6 mod def 0 HSVi eq {HSVv HSVt HSVp} ! {1 HSVi eq {HSVq HSVv HSVp}{2 HSVi eq {HSVp HSVv HSVt} ! {3 HSVi eq {HSVp HSVq HSVv}{4 HSVi eq {HSVt HSVp HSVv} ! {HSVv HSVp HSVq} ifelse} ifelse} ifelse} ifelse} ifelse ! } ifelse} def ! /Constrain { ! dup 0 lt {0 exch pop}{dup 1 gt {1 exch pop} if} ifelse} def ! /YIQ2RGB { ! 3 copy -1.702 mul exch -1.105 mul add add Constrain 4 1 roll ! 3 copy -0.647 mul exch -0.272 mul add add Constrain 5 1 roll ! 0.621 mul exch -0.956 mul add add Constrain 3 1 roll } def ! /CMY2RGB { 1 exch sub exch 1 exch sub 3 2 roll 1 exch sub 3 1 roll exch } def ! /XYZ2RGB { 3 copy -0.9017 mul exch -0.1187 mul add exch 0.0585 mul exch add ! Constrain 4 1 roll 3 copy -0.0279 mul exch 1.999 mul add exch ! -0.9844 mul add Constrain 5 1 roll -0.2891 mul exch -0.5338 mul add ! exch 1.91 mul exch add Constrain 3 1 roll} def ! /SelectSpace {ColorSpace (HSV) eq {HSV2RGB}{ColorSpace (XYZ) eq { ! XYZ2RGB}{ColorSpace (CMY) eq {CMY2RGB}{ColorSpace (YIQ) eq {YIQ2RGB} ! if} ifelse} ifelse} ifelse} def ! /InterpolatedColor true def ! /grayindex {/gidx 0 def ! {GrayA gidx get grayv ge {exit} if /gidx gidx 1 add def} loop} def ! /dgdx {grayv GrayA gidx get sub GrayA gidx 1 sub get ! GrayA gidx get sub div} def ! /redvalue {RedA gidx get RedA gidx 1 sub get ! RedA gidx get sub dgdxval mul add} def ! /greenvalue {GreenA gidx get GreenA gidx 1 sub get ! GreenA gidx get sub dgdxval mul add} def ! /bluevalue {BlueA gidx get BlueA gidx 1 sub get ! BlueA gidx get sub dgdxval mul add} def ! /interpolate { ! grayindex grayv GrayA gidx get sub abs 1e-5 le ! {RedA gidx get GreenA gidx get BlueA gidx get} ! {/dgdxval dgdx def redvalue greenvalue bluevalue} ifelse} def ! /GrayA [0 .0159 .0317 .0476 .0635 .0794 .0952 .1111 .127 .1429 .1587 .1746 ! .1905 .2063 .2222 .2381 .254 .2698 .2857 .3016 .3175 .3333 .3492 .3651 ! .381 .3968 .4127 .4286 .4444 .4603 .4762 .4921 .5079 .5238 .5397 .5556 ! .5714 .5873 .6032 .619 .6349 .6508 .6667 .6825 .6984 .7143 .7302 .746 ! .7619 .7778 .7937 .8095 .8254 .8413 .8571 .873 .8889 .9048 .9206 .9365 ! .9524 .9683 .9841 1 ] def ! /RedA [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .0238 .0873 .1508 ! .2143 .2778 .3413 .4048 .4683 .5317 .5952 .6587 .7222 .7857 .8492 .9127 ! .9762 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .9444 .881 .8175 .754 .6905 .627 ! .5635 .5 ] def ! /GreenA [0 0 0 0 0 0 0 0 .0079 .0714 .1349 .1984 .2619 .3254 .3889 .4524 ! .5159 .5794 .6429 .7063 .7698 .8333 .8968 .9603 1 1 1 1 1 1 1 1 1 1 1 1 1 ! 1 1 1 .9603 .8968 .8333 .7698 .7063 .6429 .5794 .5159 .4524 .3889 .3254 ! .2619 .1984 .1349 .0714 .0079 0 0 0 0 0 0 0 0 ] def ! /BlueA [.5 .5635 .627 .6905 .754 .8175 .881 .9444 1 1 1 1 1 1 1 1 1 1 1 1 1 ! 1 1 1 .9762 .9127 .8492 .7857 .7222 .6587 .5952 .5317 .4683 .4048 .3413 ! .2778 .2143 .1508 .0873 .0238 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ! 0 0 ] def ! /pm3dround {maxcolors 0 gt {dup 1 ge ! {pop 1} {maxcolors mul floor maxcolors 1 sub div} ifelse} if} def ! /pm3dGamma 1.0 1.5 div def ! /ColorSpace (RGB) def ! Color true and { % COLOUR vs. GRAY map ! InterpolatedColor { %% Interpolation vs. RGB-Formula ! /g {stroke pm3dround /grayv exch def interpolate ! SelectSpace setrgbcolor} bind def ! }{ ! /g {stroke pm3dround dup cF7 Constrain exch dup cF5 Constrain exch cF15 Constrain ! SelectSpace setrgbcolor} bind def ! } ifelse ! }{ ! /g {stroke pm3dround pm3dGamma exp setgray} bind def ! } ifelse ! 0.500 UL LTb 574 280 M 63 0 V *************** *** 466,472 **** 0.00 0.00 0.00 C 490 280 M [ [(Helvetica) 140.0 0.0 true true 0 (-1)] ] -46.7 MRshow ! 1.000 UL LTb 574 1428 M 63 0 V --- 540,546 ---- 0.00 0.00 0.00 C 490 280 M [ [(Helvetica) 140.0 0.0 true true 0 (-1)] ] -46.7 MRshow ! 0.500 UL LTb 574 1428 M 63 0 V *************** *** 476,482 **** 0.00 0.00 0.00 C 490 1428 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.5)] ] -46.7 MRshow ! 1.000 UL LTb 574 2576 M 63 0 V --- 550,556 ---- 0.00 0.00 0.00 C 490 1428 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.5)] ] -46.7 MRshow ! 0.500 UL LTb 574 2576 M 63 0 V *************** *** 486,492 **** 0.00 0.00 0.00 C 490 2576 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 1.000 UL LTb 574 3724 M 63 0 V --- 560,566 ---- 0.00 0.00 0.00 C 490 2576 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 0.500 UL LTb 574 3724 M 63 0 V *************** *** 496,502 **** 0.00 0.00 0.00 C 490 3724 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MRshow ! 1.000 UL LTb 574 4872 M 63 0 V --- 570,576 ---- 0.00 0.00 0.00 C 490 3724 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MRshow ! 0.500 UL LTb 574 4872 M 63 0 V *************** *** 506,512 **** 0.00 0.00 0.00 C 490 4872 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MRshow ! 1.000 UL LTb 574 280 M 0 63 V --- 580,586 ---- 0.00 0.00 0.00 C 490 4872 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MRshow ! 0.500 UL LTb 574 280 M 0 63 V *************** *** 516,522 **** 0.00 0.00 0.00 C 574 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 1.000 UL LTb 1852 280 M 0 63 V --- 590,596 ---- 0.00 0.00 0.00 C 574 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 0.500 UL LTb 1852 280 M 0 63 V *************** *** 526,532 **** 0.00 0.00 0.00 C 1852 140 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MCshow ! 1.000 UL LTb 3129 280 M 0 63 V --- 600,606 ---- 0.00 0.00 0.00 C 1852 140 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MCshow ! 0.500 UL LTb 3129 280 M 0 63 V *************** *** 536,542 **** 0.00 0.00 0.00 C 3129 140 M [ [(Helvetica) 140.0 0.0 true true 0 (4)] ] -46.7 MCshow ! 1.000 UL LTb 4407 280 M 0 63 V --- 610,616 ---- 0.00 0.00 0.00 C 3129 140 M [ [(Helvetica) 140.0 0.0 true true 0 (4)] ] -46.7 MCshow ! 0.500 UL LTb 4407 280 M 0 63 V *************** *** 546,552 **** 0.00 0.00 0.00 C 4407 140 M [ [(Helvetica) 140.0 0.0 true true 0 (6)] ] -46.7 MCshow ! 1.000 UL LTb 5684 280 M 0 63 V --- 620,626 ---- 0.00 0.00 0.00 C 4407 140 M [ [(Helvetica) 140.0 0.0 true true 0 (6)] ] -46.7 MCshow ! 0.500 UL LTb 5684 280 M 0 63 V *************** *** 556,562 **** 0.00 0.00 0.00 C 5684 140 M [ [(Helvetica) 140.0 0.0 true true 0 (8)] ] -46.7 MCshow ! 1.000 UL LTb 6962 280 M 0 63 V --- 630,636 ---- 0.00 0.00 0.00 C 5684 140 M [ [(Helvetica) 140.0 0.0 true true 0 (8)] ] -46.7 MCshow ! 0.500 UL LTb 6962 280 M 0 63 V *************** *** 566,574 **** 0.00 0.00 0.00 C 6962 140 M [ [(Helvetica) 140.0 0.0 true true 0 (10)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 574 4872 N 574 280 L --- 640,648 ---- 0.00 0.00 0.00 C 6962 140 M [ [(Helvetica) 140.0 0.0 true true 0 (10)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 574 4872 N 574 280 L *************** *** 577,1156 **** -6388 0 V Z stroke 1.000 UP ! 1.000 UL LTb 1.000 UP ! 1.000 UL LT0 ! 574 2223 M ! 0 118 V ! 543 2223 M 62 0 V ! -62 118 R 62 0 V ! 33 517 R ! 0 250 V ! 607 2858 M 62 0 V ! -62 250 R 62 0 V ! 33 -40 R ! 0 195 V ! 671 3068 M 62 0 V ! -62 195 R 62 0 V ! 33 -228 R ! 0 25 V ! -31 -25 R 62 0 V ! -62 25 R 62 0 V ! 33 653 R ! 0 -335 V ! -31 335 R 62 0 V ! 799 3378 M 62 0 V ! 32 672 R ! 0 -396 V ! -31 396 R 62 0 V ! 862 3654 M 62 0 V ! 33 220 R ! 0 55 V ! -31 -55 R 62 0 V ! -62 55 R 62 0 V ! 33 85 R ! 0 209 V ! 990 4014 M 62 0 V ! -62 209 R 62 0 V ! 33 -391 R ! 0 239 V ! -31 -239 R 62 0 V ! -62 239 R 62 0 V ! 33 237 R ! 0 84 V ! -31 -84 R 62 0 V ! -62 84 R 62 0 V ! 33 47 R ! 0 -254 V ! -31 254 R 62 0 V ! -62 -254 R 62 0 V ! 33 233 R ! 0 -277 V ! -31 277 R 62 0 V ! -62 -277 R 62 0 V ! 33 387 R ! 0 -23 V ! -31 23 R 62 0 V ! -62 -23 R 62 0 V ! 32 131 R ! 0 -140 V ! -31 140 R 62 0 V ! -62 -140 R 62 0 V ! 33 367 R ! 0 -36 V ! -31 36 R 62 0 V ! -62 -36 R 62 0 V ! 33 -21 R ! 0 66 V ! -31 -66 R 62 0 V ! -62 66 R 62 0 V 33 0 R ! 0 -202 V ! -31 202 R 62 0 V ! -62 -202 R 62 0 V ! 33 202 R ! 0 -53 V ! -31 53 R ! 1691 4872 L ! -62 -53 R 62 0 V ! 33 53 R ! 0 -92 V ! -31 92 R 62 0 V ! -62 -92 R 62 0 V ! 33 41 R ! 0 -326 V ! -31 326 R 62 0 V ! -62 -326 R 62 0 V ! 33 308 R ! 0 -198 V ! -31 198 R 62 0 V ! -62 -198 R 62 0 V ! 32 82 R ! 0 29 V ! -31 -29 R 62 0 V ! -62 29 R 62 0 V ! 33 -215 R ! 0 51 V ! -31 -51 R 62 0 V ! -62 51 R 62 0 V ! 33 320 R ! 0 -534 V ! -31 534 R 62 0 V ! -62 -534 R 62 0 V ! 33 -279 R ! 0 -93 V ! -31 93 R 62 0 V ! -62 -93 R 62 0 V ! 33 63 R ! 0 -136 V ! -31 136 R 62 0 V ! -62 -136 R 62 0 V ! 33 -190 R ! 0 -398 V ! -31 398 R 62 0 V ! -62 -398 R 62 0 V ! 33 135 R ! 0 -64 V ! -31 64 R 62 0 V ! -62 -64 R 62 0 V ! 33 -79 R ! 0 -242 V ! -31 242 R 62 0 V ! -62 -242 R 62 0 V ! 33 -37 R ! 0 72 V ! -31 -72 R 62 0 V ! -62 72 R 62 0 V ! 32 22 R ! 0 -235 V ! -31 235 R 62 0 V ! -62 -235 R 62 0 V ! 33 -424 R 0 164 V -31 -164 R 62 0 V -62 164 R 62 0 V ! 33 152 R ! 0 -612 V ! -31 612 R ! 62 0 V ! -62 -612 R ! 62 0 V ! 33 370 R ! 0 -251 V ! -31 251 R 62 0 V ! -62 -251 R 62 0 V ! 33 215 R ! 0 -699 V ! -31 699 R 62 0 V ! -62 -699 R 62 0 V ! 33 -25 R ! 2810 1825 L ! -31 -58 R 62 0 V ! -62 58 R 62 0 V ! 33 -427 R ! 0 121 V ! -31 -121 R 62 0 V ! -62 121 R 62 0 V ! 33 -272 R ! 0 309 V ! -31 -309 R 62 0 V ! -62 309 R 62 0 V ! 32 -264 R ! 0 -24 V ! -31 24 R 62 0 V ! -62 -24 R 62 0 V ! 33 -573 R ! 0 706 V ! 3034 695 M 62 0 V ! -62 706 R 62 0 V ! 33 -728 R ! 0 375 V ! 3098 673 M 62 0 V ! -62 375 R 62 0 V ! 33 -521 R ! 0 692 V ! 3162 527 M 62 0 V ! -62 692 R 62 0 V ! 97 -452 R ! 0 -118 V ! -31 118 R 62 0 V ! 3290 649 M 62 0 V ! 33 125 R ! 0 -355 V ! -31 355 R 62 0 V ! 3354 419 M 62 0 V ! 160 -26 R ! 0 -113 V ! -31 113 R 62 0 V ! 3545 280 M 62 0 V ! 97 89 R ! 0 -75 V ! -31 75 R 62 0 V ! -62 -75 R 62 0 V ! 33 -14 R ! 0 177 V ! 3737 280 M 62 0 V ! -62 177 R 62 0 V ! 33 -59 R ! 0 -118 V ! -31 118 R 62 0 V ! 3801 280 M 62 0 V ! 33 211 R ! 0 69 V ! -31 -69 R 62 0 V ! -62 69 R 62 0 V ! 33 142 R ! 0 337 V ! 3929 702 M 62 0 V ! -62 337 R 62 0 V ! 33 -47 R ! 0 -209 V ! -31 209 R 62 0 V ! 3993 783 M 62 0 V ! 32 201 R ! 0 124 V ! 4056 984 M 62 0 V ! -62 124 R 62 0 V ! 33 277 R ! 0 -543 V ! -31 543 R 62 0 V ! 4120 842 M ! 4182 842 L ! 33 498 R ! 0 135 V ! -31 -135 R 62 0 V ! -62 135 R 62 0 V ! 33 -103 R ! 0 -10 V ! -31 10 R 62 0 V ! -62 -10 R 62 0 V ! 33 237 R ! 0 468 V ! -31 -468 R 62 0 V ! -62 468 R 62 0 V ! 33 -139 R ! 0 -298 V ! -31 298 R 62 0 V ! -62 -298 R 62 0 V ! 33 571 R ! 0 200 V ! -31 -200 R 62 0 V ! -62 200 R 62 0 V ! 33 -83 R ! 0 241 V ! -31 -241 R 62 0 V ! -62 241 R 62 0 V ! 32 136 R ! 0 -265 V ! -31 265 R 62 0 V ! -62 -265 R 62 0 V ! 33 935 R ! 0 -702 V ! -31 702 R 62 0 V ! -62 -702 R 62 0 V ! 33 402 R ! 0 515 V ! -31 -515 R 62 0 V ! -62 515 R 62 0 V ! 33 -143 R ! 0 133 V ! -31 -133 R 62 0 V ! -62 133 R 62 0 V ! 33 36 R ! 0 -467 V ! -31 467 R 62 0 V ! -62 -467 R 62 0 V ! 33 780 R ! 0 -46 V ! -31 46 R 62 0 V ! -62 -46 R 62 0 V ! 33 -5 R ! 0 -193 V ! -31 193 R 62 0 V ! -62 -193 R 62 0 V ! 33 721 R ! 0 -130 V ! -31 130 R 62 0 V ! -62 -130 R 62 0 V ! 32 162 R ! 0 -47 V ! -31 47 R 62 0 V ! -62 -47 R 62 0 V ! 33 223 R ! 0 -565 V ! -31 565 R 62 0 V ! -62 -565 R 62 0 V ! 33 14 R ! 0 296 V ! -31 -296 R 62 0 V ! -62 296 R 62 0 V ! 33 129 R ! 0 37 V ! -31 -37 R ! 5332 4478 L ! -62 37 R 62 0 V ! 33 243 R ! 0 100 V ! -31 -100 R 62 0 V ! -62 100 R 62 0 V ! 33 -294 R ! 0 111 V ! -31 -111 R 62 0 V ! -62 111 R 62 0 V ! 161 197 R ! 0 -128 V ! -31 128 R 62 0 V ! -62 -128 R 62 0 V ! 32 54 R ! 0 -91 V ! -31 91 R 62 0 V ! -62 -91 R 62 0 V ! 33 -261 R ! 0 426 V ! -31 -426 R 62 0 V ! -62 426 R 62 0 V ! 33 -218 R ! 0 -158 V ! -31 158 R 62 0 V ! -62 -158 R 62 0 V ! 33 -32 R ! 0 228 V ! -31 -228 R 62 0 V ! -62 228 R 62 0 V ! 33 -238 R ! 0 -130 V ! -31 130 R 62 0 V ! -62 -130 R 62 0 V ! 33 365 R ! 0 27 V ! -31 -27 R 62 0 V ! -62 27 R 62 0 V ! 33 -299 R ! 0 -328 V ! -31 328 R 62 0 V ! -62 -328 R 62 0 V ! 33 293 R ! 0 -688 V ! -31 688 R 62 0 V ! -62 -688 R 62 0 V ! 32 220 R ! 0 -10 V ! -31 10 R 62 0 V ! -62 -10 R 62 0 V ! 33 -226 R ! 0 81 V ! -31 -81 R 62 0 V ! -62 81 R 62 0 V ! 33 -815 R ! 0 607 V ! -31 -607 R 62 0 V ! -62 607 R 62 0 V ! 33 -110 R ! 0 -274 V ! -31 274 R 62 0 V ! -62 -274 R 62 0 V ! 33 -98 R ! 0 97 V ! -31 -97 R 62 0 V ! -62 97 R 62 0 V ! 33 -169 R ! 0 -190 V ! -31 190 R 62 0 V ! -62 -190 R 62 0 V ! 33 -239 R ! 6579 2483 L ! -31 85 R 62 0 V ! -62 -85 R 62 0 V ! 33 150 R ! 0 -189 V ! -31 189 R 62 0 V ! -62 -189 R 62 0 V ! 32 -520 R ! 0 469 V ! -31 -469 R 62 0 V ! -62 469 R 62 0 V ! 33 142 R ! 0 -651 V ! -31 651 R 62 0 V ! -62 -651 R 62 0 V ! 33 -403 R ! 0 148 V ! -31 -148 R 62 0 V ! -62 148 R 62 0 V ! 33 -524 R ! 0 576 V ! -31 -576 R 62 0 V ! -62 576 R 62 0 V ! 33 -535 R ! 0 -93 V ! -31 93 R 62 0 V ! -62 -93 R 62 0 V 574 2576 Pls 638 2805 Pls --- 651,1230 ---- -6388 0 V Z stroke 1.000 UP ! 0.500 UL LTb 1.000 UP ! 0.500 UL LT0 ! 0.00 0.00 1.00 C 574 3053 M ! 0 -621 V ! -31 621 R 62 0 V ! 543 2432 M 62 0 V ! 33 304 R ! 0 4 V ! -31 -4 R 62 0 V ! -62 4 R 62 0 V ! 33 16 R ! 0 370 V ! 671 2756 M 62 0 V ! -62 370 R 62 0 V ! 33 80 R ! 0 -90 V ! -31 90 R 62 0 V ! -62 -90 R 62 0 V ! 33 394 R ! 0 -41 V ! -31 41 R 62 0 V ! -62 -41 R 62 0 V ! 32 21 R ! 0 100 V ! 862 3490 M 62 0 V ! -62 100 R 62 0 V ! 33 331 R ! 0 -347 V ! -31 347 R 62 0 V ! 926 3574 M 62 0 V ! 33 595 R ! 0 -261 V ! -31 261 R 62 0 V ! 990 3908 M 62 0 V ! 33 259 R ! 0 -664 V ! -31 664 R 62 0 V ! -62 -664 R 62 0 V ! 33 1202 R ! 0 -485 V ! -31 485 R 62 0 V ! -62 -485 R 62 0 V ! 33 -91 R ! 0 321 V ! -31 -321 R 62 0 V ! -62 321 R ! 62 0 V ! 33 304 R ! 0 -322 V ! -31 322 R ! 62 0 V ! -62 -322 R 62 0 V ! 33 259 R ! 0 40 V ! -31 -40 R 62 0 V ! -62 40 R 62 0 V ! 32 -91 R ! 0 232 V ! -31 -232 R 62 0 V ! -62 232 R 62 0 V ! 33 -133 R ! 0 133 V ! -31 -133 R 62 0 V ! -62 133 R 62 0 V ! 97 0 R ! 0 -132 V ! -31 132 R 62 0 V ! -62 -132 R 62 0 V ! 97 -23 R ! 0 155 V ! -31 -155 R 62 0 V ! -62 155 R 62 0 V 33 0 R ! 0 -207 V ! -31 207 R ! 1819 4872 L ! -62 -207 R 62 0 V ! 33 -144 R ! 0 112 V ! -31 -112 R 62 0 V ! -62 112 R 62 0 V ! 32 -29 R ! 0 -110 V ! -31 110 R 62 0 V ! -62 -110 R 62 0 V ! 33 111 R ! 0 -81 V ! -31 81 R 62 0 V ! -62 -81 R 62 0 V ! 33 -269 R ! 0 -77 V ! -31 77 R 62 0 V ! -62 -77 R 62 0 V ! 33 -84 R ! 0 -310 V ! -31 310 R 62 0 V ! -62 -310 R 62 0 V ! 33 67 R ! 0 311 V ! -31 -311 R 62 0 V ! -62 311 R 62 0 V ! 33 -666 R ! 0 255 V ! -31 -255 R 62 0 V ! -62 255 R 62 0 V ! 33 136 R ! 0 -514 V ! -31 514 R 62 0 V ! -62 -514 R 62 0 V ! 33 -196 R ! 0 703 V ! -31 -703 R 62 0 V ! -62 703 R 62 0 V ! 33 -728 R ! 0 -153 V ! -31 153 R 62 0 V ! -62 -153 R 62 0 V ! 32 -228 R ! 0 621 V ! -31 -621 R 62 0 V ! -62 621 R 62 0 V ! 33 -930 R ! 0 513 V ! -31 -513 R 62 0 V ! -62 513 R 62 0 V ! 33 -1043 R ! 0 483 V ! -31 -483 R 62 0 V ! -62 483 R 62 0 V ! 33 -224 R ! 0 85 V ! -31 -85 R 62 0 V ! -62 85 R 62 0 V ! 33 -287 R 0 164 V -31 -164 R 62 0 V -62 164 R 62 0 V ! 33 -427 R ! 0 -82 V ! -31 82 R 62 0 V ! -62 -82 R 62 0 V ! 33 107 R ! 0 -322 V ! -31 322 R 62 0 V ! -62 -322 R 62 0 V ! 33 -202 R ! 2938 1232 L ! -31 -5 R 62 0 V ! -62 5 R 62 0 V ! 32 45 R ! 0 -3 V ! -31 3 R 62 0 V ! -62 -3 R 62 0 V ! 33 -107 R ! 0 102 V ! -31 -102 R 62 0 V ! -62 102 R 62 0 V ! 33 -543 R ! 0 635 V ! 3098 726 M 62 0 V ! -62 635 R 62 0 V ! 33 -790 R ! 0 259 V ! 3162 571 M 62 0 V ! -62 259 R 62 0 V ! 33 -79 R ! 0 10 V ! -31 -10 R 62 0 V ! -62 10 R 62 0 V ! 33 -300 R ! 0 -181 V ! -31 181 R 62 0 V ! 3290 280 M 62 0 V ! 224 0 R ! 0 104 V ! 3545 280 M 62 0 V ! -62 104 R 62 0 V ! 33 38 R ! 0 -47 V ! -31 47 R 62 0 V ! -62 -47 R 62 0 V ! 97 -95 R ! 0 325 V ! 3737 280 M 62 0 V ! -62 325 R 62 0 V ! 33 -17 R ! 0 -273 V ! -31 273 R 62 0 V ! 3801 315 M 62 0 V ! 33 462 R ! 0 -315 V ! -31 315 R 62 0 V ! 3865 462 M 62 0 V ! 33 77 R ! 0 174 V ! 3929 539 M 62 0 V ! -62 174 R 62 0 V ! 33 -274 R ! 0 341 V ! 3993 439 M 62 0 V ! -62 341 R 62 0 V ! 32 14 R ! 0 417 V ! 4056 794 M 62 0 V ! -62 417 R 62 0 V ! 33 -37 R ! 0 -587 V ! -31 587 R 62 0 V ! 4120 587 M 62 0 V ! 33 654 R ! 0 88 V ! -31 -88 R 62 0 V ! -62 88 R 62 0 V ! 33 -80 R ! 0 326 V ! -31 -326 R 62 0 V ! -62 326 R ! 4310 1575 L ! 33 424 R ! 0 -379 V ! -31 379 R 62 0 V ! -62 -379 R 62 0 V ! 33 350 R ! 0 -113 V ! -31 113 R 62 0 V ! -62 -113 R 62 0 V ! 33 631 R ! 0 -425 V ! -31 425 R 62 0 V ! -62 -425 R 62 0 V ! 33 385 R ! 0 -460 V ! -31 460 R 62 0 V ! -62 -460 R 62 0 V ! 32 729 R ! 0 -352 V ! -31 352 R 62 0 V ! -62 -352 R 62 0 V ! 33 272 R ! 0 71 V ! -31 -71 R 62 0 V ! -62 71 R 62 0 V ! 33 285 R ! 0 176 V ! -31 -176 R 62 0 V ! -62 176 R 62 0 V ! 33 -219 R ! 0 109 V ! -31 -109 R 62 0 V ! -62 109 R 62 0 V ! 33 655 R ! 0 -375 V ! -31 375 R 62 0 V ! -62 -375 R 62 0 V ! 33 275 R ! 0 16 V ! -31 -16 R 62 0 V ! -62 16 R 62 0 V ! 33 308 R ! 0 -338 V ! -31 338 R 62 0 V ! -62 -338 R 62 0 V ! 33 1120 R ! 0 -726 V ! -31 726 R 62 0 V ! -62 -726 R 62 0 V ! 32 -115 R ! 0 318 V ! -31 -318 R 62 0 V ! -62 318 R 62 0 V ! 33 240 R ! 0 -186 V ! -31 186 R 62 0 V ! -62 -186 R 62 0 V ! 33 215 R ! 0 2 V ! -31 -2 R 62 0 V ! -62 2 R 62 0 V ! 33 404 R ! 0 -16 V ! -31 16 R 62 0 V ! -62 -16 R 62 0 V ! 33 16 R ! 0 -206 V ! -31 206 R 62 0 V ! -62 -206 R 62 0 V ! 33 -337 R ! 0 541 V ! -31 -541 R ! 5460 4329 L ! -62 541 R 62 0 V ! 33 -269 R ! 0 271 V ! -31 -271 R 62 0 V ! -62 271 R 62 0 V ! 33 -144 R ! 0 144 V ! -31 -144 R 62 0 V ! -62 144 R 62 0 V ! 33 0 R ! 0 -242 V ! -31 242 R 62 0 V ! -62 -242 R 62 0 V ! 32 35 R ! 0 -156 V ! -31 156 R 62 0 V ! -62 -156 R 62 0 V ! 33 363 R ! 0 -136 V ! -31 136 R 62 0 V ! -62 -136 R 62 0 V ! 33 136 R ! 0 -254 V ! -31 254 R 62 0 V ! -62 -254 R 62 0 V ! 33 134 R ! 0 76 V ! -31 -76 R 62 0 V ! -62 76 R 62 0 V ! 33 -632 R ! 0 669 V ! -31 -669 R 62 0 V ! -62 669 R 62 0 V ! 33 -450 R ! 0 -289 V ! -31 289 R 62 0 V ! -62 -289 R 62 0 V ! 33 503 R ! 0 -842 V ! -31 842 R 62 0 V ! -62 -842 R 62 0 V ! 33 -195 R ! 0 419 V ! -31 -419 R 62 0 V ! -62 419 R 62 0 V ! 32 -71 R ! 0 272 V ! -31 -272 R 62 0 V ! -62 272 R 62 0 V ! 33 -341 R ! 0 -83 V ! -31 83 R 62 0 V ! -62 -83 R 62 0 V ! 33 -448 R ! 0 79 V ! -31 -79 R 62 0 V ! -62 79 R 62 0 V ! 33 191 R ! 0 -522 V ! -31 522 R 62 0 V ! -62 -522 R 62 0 V ! 33 80 R ! 0 237 V ! -31 -237 R 62 0 V ! -62 237 R 62 0 V ! 33 -506 R ! 0 297 V ! -31 -297 R 62 0 V ! -62 297 R 62 0 V ! 33 -742 R ! 6579 2754 L ! -31 -300 R 62 0 V ! -62 300 R 62 0 V ! 33 -197 R ! 0 -123 V ! -31 123 R 62 0 V ! -62 -123 R 62 0 V ! 32 -172 R ! 0 -75 V ! -31 75 R 62 0 V ! -62 -75 R 62 0 V ! 33 7 R ! 0 -729 V ! -31 729 R 62 0 V ! -62 -729 R 62 0 V ! 33 286 R ! 0 -44 V ! -31 44 R 62 0 V ! -62 -44 R 62 0 V ! 33 -368 R ! 0 241 V ! -31 -241 R 62 0 V ! -62 241 R 62 0 V ! 33 -440 R ! 0 296 V ! -31 -296 R 62 0 V ! -62 296 R 62 0 V 574 2576 Pls 638 2805 Pls *************** *** 1253,1259 **** 6834 1735 Pls 6898 1525 Pls 6962 1327 Pls ! 1.000 UL LTb 574 4872 N 574 280 L --- 1327,1333 ---- 6834 1735 Pls 6898 1525 Pls 6962 1327 Pls ! 0.500 UL LTb 574 4872 N 574 280 L *************** *** 1262,1268 **** -6388 0 V Z stroke 1.000 UP ! 1.000 UL LTb stroke grestore --- 1336,1342 ---- -6388 0 V Z stroke 1.000 UP ! 0.500 UL LTb stroke grestore Binary files octave-3.0.0/doc/interpreter/errorbar.pdf and octave-3.0.1/doc/interpreter/errorbar.pdf differ Binary files octave-3.0.0/doc/interpreter/errorbar.png and octave-3.0.1/doc/interpreter/errorbar.png differ diff -cNr octave-3.0.0/doc/interpreter/expr.texi octave-3.0.1/doc/interpreter/expr.texi *** octave-3.0.0/doc/interpreter/expr.texi Fri Dec 21 16:28:41 2007 --- octave-3.0.1/doc/interpreter/expr.texi Mon Apr 21 12:58:25 2008 *************** *** 1,7 **** @c DO NOT EDIT! Generated automatically by munge-texi. @c Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2006, ! @c 2007 John W. Eaton @c @c This file is part of Octave. @c --- 1,7 ---- @c DO NOT EDIT! Generated automatically by munge-texi. @c Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2006, ! @c 2007, 2008 John W. Eaton @c @c This file is part of Octave. @c *************** *** 648,657 **** @item @var{x} != @var{y} @itemx @var{x} ~= @var{y} - @itemx @var{x} <> @var{y} @opindex != @opindex ~= - @opindex <> True if @var{x} is not equal to @var{y}. @end table --- 648,655 ---- *************** *** 1222,1228 **** @item relational @samp{<}, @samp{<=}, @samp{==}, @samp{>=}, @samp{>}, @samp{!=}, ! @samp{~=}, @samp{<>}. @item colon @samp{:}. --- 1220,1226 ---- @item relational @samp{<}, @samp{<=}, @samp{==}, @samp{>=}, @samp{>}, @samp{!=}, ! @samp{~=}. @item colon @samp{:}. diff -cNr octave-3.0.0/doc/interpreter/expr.txi octave-3.0.1/doc/interpreter/expr.txi *** octave-3.0.0/doc/interpreter/expr.txi Mon Oct 15 11:30:04 2007 --- octave-3.0.1/doc/interpreter/expr.txi Mon Apr 21 12:00:19 2008 *************** *** 1,5 **** @c Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2006, ! @c 2007 John W. Eaton @c @c This file is part of Octave. @c --- 1,5 ---- @c Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2006, ! @c 2007, 2008 John W. Eaton @c @c This file is part of Octave. @c *************** *** 580,589 **** @item @var{x} != @var{y} @itemx @var{x} ~= @var{y} - @itemx @var{x} <> @var{y} @opindex != @opindex ~= - @opindex <> True if @var{x} is not equal to @var{y}. @end table --- 580,587 ---- *************** *** 1116,1122 **** @item relational @samp{<}, @samp{<=}, @samp{==}, @samp{>=}, @samp{>}, @samp{!=}, ! @samp{~=}, @samp{<>}. @item colon @samp{:}. --- 1114,1120 ---- @item relational @samp{<}, @samp{<=}, @samp{==}, @samp{>=}, @samp{>}, @samp{!=}, ! @samp{~=}. @item colon @samp{:}. diff -cNr octave-3.0.0/doc/interpreter/extended.eps octave-3.0.1/doc/interpreter/extended.eps *** octave-3.0.0/doc/interpreter/extended.eps Thu Dec 20 16:13:25 2007 --- octave-3.0.1/doc/interpreter/extended.eps Mon Apr 21 12:57:20 2008 *************** *** 1,7 **** %!PS-Adobe-2.0 EPSF-2.0 %%Title: extended.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Thu Dec 20 16:13:25 2007 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments --- 1,7 ---- %!PS-Adobe-2.0 EPSF-2.0 %%Title: extended.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Mon Apr 21 12:57:20 2008 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments *************** *** 48,54 **** /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Thu Dec 20 16:13:25 2007) /DOCINFO pdfmark end } ifelse --- 48,54 ---- /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Mon Apr 21 12:57:20 2008) /DOCINFO pdfmark end } ifelse *************** *** 530,536 **** }{ /g {stroke pm3dround pm3dGamma exp setgray} bind def } ifelse ! 1.000 UL LTb 490 280 M 63 0 V --- 530,536 ---- }{ /g {stroke pm3dround pm3dGamma exp setgray} bind def } ifelse ! 0.500 UL LTb 490 280 M 63 0 V *************** *** 540,546 **** 0.00 0.00 0.00 C 406 280 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 1.000 UL LTb 490 1198 M 63 0 V --- 540,546 ---- 0.00 0.00 0.00 C 406 280 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 0.500 UL LTb 490 1198 M 63 0 V *************** *** 550,556 **** 0.00 0.00 0.00 C 406 1198 M [ [(Helvetica) 140.0 0.0 true true 0 (0.2)] ] -46.7 MRshow ! 1.000 UL LTb 490 2117 M 63 0 V --- 550,556 ---- 0.00 0.00 0.00 C 406 1198 M [ [(Helvetica) 140.0 0.0 true true 0 (0.2)] ] -46.7 MRshow ! 0.500 UL LTb 490 2117 M 63 0 V *************** *** 560,566 **** 0.00 0.00 0.00 C 406 2117 M [ [(Helvetica) 140.0 0.0 true true 0 (0.4)] ] -46.7 MRshow ! 1.000 UL LTb 490 3035 M 63 0 V --- 560,566 ---- 0.00 0.00 0.00 C 406 2117 M [ [(Helvetica) 140.0 0.0 true true 0 (0.4)] ] -46.7 MRshow ! 0.500 UL LTb 490 3035 M 63 0 V *************** *** 570,576 **** 0.00 0.00 0.00 C 406 3035 M [ [(Helvetica) 140.0 0.0 true true 0 (0.6)] ] -46.7 MRshow ! 1.000 UL LTb 490 3954 M 63 0 V --- 570,576 ---- 0.00 0.00 0.00 C 406 3035 M [ [(Helvetica) 140.0 0.0 true true 0 (0.6)] ] -46.7 MRshow ! 0.500 UL LTb 490 3954 M 63 0 V *************** *** 580,586 **** 0.00 0.00 0.00 C 406 3954 M [ [(Helvetica) 140.0 0.0 true true 0 (0.8)] ] -46.7 MRshow ! 1.000 UL LTb 490 4872 M 63 0 V --- 580,586 ---- 0.00 0.00 0.00 C 406 3954 M [ [(Helvetica) 140.0 0.0 true true 0 (0.8)] ] -46.7 MRshow ! 0.500 UL LTb 490 4872 M 63 0 V *************** *** 590,596 **** 0.00 0.00 0.00 C 406 4872 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MRshow ! 1.000 UL LTb 490 280 M 0 63 V --- 590,596 ---- 0.00 0.00 0.00 C 406 4872 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MRshow ! 0.500 UL LTb 490 280 M 0 63 V *************** *** 600,606 **** 0.00 0.00 0.00 C 490 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 1.000 UL LTb 1569 280 M 0 63 V --- 600,606 ---- 0.00 0.00 0.00 C 490 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 0.500 UL LTb 1569 280 M 0 63 V *************** *** 610,616 **** 0.00 0.00 0.00 C 1569 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MCshow ! 1.000 UL LTb 2647 280 M 0 63 V --- 610,616 ---- 0.00 0.00 0.00 C 1569 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MCshow ! 0.500 UL LTb 2647 280 M 0 63 V *************** *** 620,626 **** 0.00 0.00 0.00 C 2647 140 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MCshow ! 1.000 UL LTb 3726 280 M 0 63 V --- 620,626 ---- 0.00 0.00 0.00 C 2647 140 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MCshow ! 0.500 UL LTb 3726 280 M 0 63 V *************** *** 630,636 **** 0.00 0.00 0.00 C 3726 140 M [ [(Helvetica) 140.0 0.0 true true 0 (1.5)] ] -46.7 MCshow ! 1.000 UL LTb 4805 280 M 0 63 V --- 630,636 ---- 0.00 0.00 0.00 C 3726 140 M [ [(Helvetica) 140.0 0.0 true true 0 (1.5)] ] -46.7 MCshow ! 0.500 UL LTb 4805 280 M 0 63 V *************** *** 640,646 **** 0.00 0.00 0.00 C 4805 140 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MCshow ! 1.000 UL LTb 5883 280 M 0 63 V --- 640,646 ---- 0.00 0.00 0.00 C 4805 140 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MCshow ! 0.500 UL LTb 5883 280 M 0 63 V *************** *** 650,656 **** 0.00 0.00 0.00 C 5883 140 M [ [(Helvetica) 140.0 0.0 true true 0 (2.5)] ] -46.7 MCshow ! 1.000 UL LTb 6962 280 M 0 63 V --- 650,656 ---- 0.00 0.00 0.00 C 5883 140 M [ [(Helvetica) 140.0 0.0 true true 0 (2.5)] ] -46.7 MCshow ! 0.500 UL LTb 6962 280 M 0 63 V *************** *** 660,668 **** 0.00 0.00 0.00 C 6962 140 M [ [(Helvetica) 140.0 0.0 true true 0 (3)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 490 4872 N 490 280 L --- 660,668 ---- 0.00 0.00 0.00 C 6962 140 M [ [(Helvetica) 140.0 0.0 true true 0 (3)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 490 4872 N 490 280 L *************** *** 671,677 **** -6472 0 V Z stroke 1.000 UP ! 1.000 UL LTb 0.500 UL LT0 --- 671,677 ---- -6472 0 V Z stroke 1.000 UP ! 0.500 UL LTb 0.500 UL LT0 *************** *** 1080,1086 **** 22 46 V 21 46 V stroke - 1.000 UL LTb 490 4872 N 490 280 L --- 1080,1085 ---- *************** *** 1091,1117 **** 1.000 UP 0.00 0.00 0.00 C 1892 3116 M [ [(Symbol) 100.0 0.0 true true 0 (\254)] ! [(helvetica) 100.0 0.0 true true 0 ( x = )] ! [(helvetica) 100.0 0.0 true true 0 (2/)] [(Symbol) 100.0 0.0 true true 0 (\326)] [(Symbol) 100.0 0.0 true true 0 (p)] ! [(helvetica) 100.0 0.0 true true 0 ( )] [(Symbol) 160.0 0.0 true true 0 (\362)] XYsave ! [(helvetica) 80.0 -48.0 true true 0 (0)] XYrestore ! [(helvetica) 80.0 80.0 true true 0 (x)] ! [(helvetica) 100.0 0.0 true true 0 ( e)] ! [(helvetica) 80.0 50.0 true true 0 (-t)] ! [(helvetica) 64.0 90.0 true true 0 (2)] ! [(helvetica) 100.0 0.0 true true 0 ( dt)] ! [(helvetica) 100.0 0.0 true true 0 ( = 0.6175)] ] -53.3 MLshow ! 1.000 UL LTb stroke grestore end showpage %%Trailer ! %%DocumentFonts: Symbol helvetica Helvetica --- 1090,1116 ---- 1.000 UP 0.00 0.00 0.00 C 1892 3116 M [ [(Symbol) 100.0 0.0 true true 0 (\254)] ! [(Helvetica) 100.0 0.0 true true 0 ( x = )] ! [(Helvetica) 100.0 0.0 true true 0 (2/)] [(Symbol) 100.0 0.0 true true 0 (\326)] [(Symbol) 100.0 0.0 true true 0 (p)] ! [(Helvetica) 100.0 0.0 true true 0 ( )] [(Symbol) 160.0 0.0 true true 0 (\362)] XYsave ! [(Helvetica) 80.0 -48.0 true true 0 (0)] XYrestore ! [(Helvetica) 80.0 80.0 true true 0 (x)] ! [(Helvetica) 100.0 0.0 true true 0 ( e)] ! [(Helvetica) 80.0 50.0 true true 0 (-t)] ! [(Helvetica) 64.0 90.0 true true 0 (2)] ! [(Helvetica) 100.0 0.0 true true 0 ( dt)] ! [(Helvetica) 100.0 0.0 true true 0 ( = 0.6175)] ] -53.3 MLshow ! 0.500 UL LTb stroke grestore end showpage %%Trailer ! %%DocumentFonts: Symbol Helvetica Binary files octave-3.0.0/doc/interpreter/extended.pdf and octave-3.0.1/doc/interpreter/extended.pdf differ diff -cNr octave-3.0.0/doc/interpreter/gplot.eps octave-3.0.1/doc/interpreter/gplot.eps *** octave-3.0.0/doc/interpreter/gplot.eps Thu Dec 20 16:12:53 2007 --- octave-3.0.1/doc/interpreter/gplot.eps Mon Apr 21 12:56:50 2008 *************** *** 1,7 **** %!PS-Adobe-2.0 EPSF-2.0 %%Title: gplot.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Thu Dec 20 16:12:53 2007 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments --- 1,7 ---- %!PS-Adobe-2.0 EPSF-2.0 %%Title: gplot.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Mon Apr 21 12:56:50 2008 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments *************** *** 48,54 **** /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Thu Dec 20 16:12:53 2007) /DOCINFO pdfmark end } ifelse --- 48,54 ---- /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Mon Apr 21 12:56:50 2008) /DOCINFO pdfmark end } ifelse *************** *** 530,536 **** }{ /g {stroke pm3dround pm3dGamma exp setgray} bind def } ifelse ! 1.000 UL LTb 322 280 M 63 0 V --- 530,536 ---- }{ /g {stroke pm3dround pm3dGamma exp setgray} bind def } ifelse ! 0.500 UL LTb 322 280 M 63 0 V *************** *** 540,546 **** 0.00 0.00 0.00 C 238 280 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 1.000 UL LTb 322 936 M 63 0 V --- 540,546 ---- 0.00 0.00 0.00 C 238 280 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 0.500 UL LTb 322 936 M 63 0 V *************** *** 550,556 **** 0.00 0.00 0.00 C 238 936 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MRshow ! 1.000 UL LTb 322 1592 M 63 0 V --- 550,556 ---- 0.00 0.00 0.00 C 238 936 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MRshow ! 0.500 UL LTb 322 1592 M 63 0 V *************** *** 560,566 **** 0.00 0.00 0.00 C 238 1592 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MRshow ! 1.000 UL LTb 322 2248 M 63 0 V --- 560,566 ---- 0.00 0.00 0.00 C 238 1592 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MRshow ! 0.500 UL LTb 322 2248 M 63 0 V *************** *** 570,576 **** 0.00 0.00 0.00 C 238 2248 M [ [(Helvetica) 140.0 0.0 true true 0 (3)] ] -46.7 MRshow ! 1.000 UL LTb 322 2904 M 63 0 V --- 570,576 ---- 0.00 0.00 0.00 C 238 2248 M [ [(Helvetica) 140.0 0.0 true true 0 (3)] ] -46.7 MRshow ! 0.500 UL LTb 322 2904 M 63 0 V *************** *** 580,586 **** 0.00 0.00 0.00 C 238 2904 M [ [(Helvetica) 140.0 0.0 true true 0 (4)] ] -46.7 MRshow ! 1.000 UL LTb 322 3560 M 63 0 V --- 580,586 ---- 0.00 0.00 0.00 C 238 2904 M [ [(Helvetica) 140.0 0.0 true true 0 (4)] ] -46.7 MRshow ! 0.500 UL LTb 322 3560 M 63 0 V *************** *** 590,596 **** 0.00 0.00 0.00 C 238 3560 M [ [(Helvetica) 140.0 0.0 true true 0 (5)] ] -46.7 MRshow ! 1.000 UL LTb 322 4216 M 63 0 V --- 590,596 ---- 0.00 0.00 0.00 C 238 3560 M [ [(Helvetica) 140.0 0.0 true true 0 (5)] ] -46.7 MRshow ! 0.500 UL LTb 322 4216 M 63 0 V *************** *** 600,606 **** 0.00 0.00 0.00 C 238 4216 M [ [(Helvetica) 140.0 0.0 true true 0 (6)] ] -46.7 MRshow ! 1.000 UL LTb 322 4872 M 63 0 V --- 600,606 ---- 0.00 0.00 0.00 C 238 4216 M [ [(Helvetica) 140.0 0.0 true true 0 (6)] ] -46.7 MRshow ! 0.500 UL LTb 322 4872 M 63 0 V *************** *** 610,616 **** 0.00 0.00 0.00 C 238 4872 M [ [(Helvetica) 140.0 0.0 true true 0 (7)] ] -46.7 MRshow ! 1.000 UL LTb 322 280 M 0 63 V --- 610,616 ---- 0.00 0.00 0.00 C 238 4872 M [ [(Helvetica) 140.0 0.0 true true 0 (7)] ] -46.7 MRshow ! 0.500 UL LTb 322 280 M 0 63 V *************** *** 620,626 **** 0.00 0.00 0.00 C 322 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 1.000 UL LTb 1152 280 M 0 63 V --- 620,626 ---- 0.00 0.00 0.00 C 322 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 0.500 UL LTb 1152 280 M 0 63 V *************** *** 630,636 **** 0.00 0.00 0.00 C 1152 140 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MCshow ! 1.000 UL LTb 1982 280 M 0 63 V --- 630,636 ---- 0.00 0.00 0.00 C 1152 140 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MCshow ! 0.500 UL LTb 1982 280 M 0 63 V *************** *** 640,646 **** 0.00 0.00 0.00 C 1982 140 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MCshow ! 1.000 UL LTb 2812 280 M 0 63 V --- 640,646 ---- 0.00 0.00 0.00 C 1982 140 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MCshow ! 0.500 UL LTb 2812 280 M 0 63 V *************** *** 650,656 **** 0.00 0.00 0.00 C 2812 140 M [ [(Helvetica) 140.0 0.0 true true 0 (3)] ] -46.7 MCshow ! 1.000 UL LTb 3642 280 M 0 63 V --- 650,656 ---- 0.00 0.00 0.00 C 2812 140 M [ [(Helvetica) 140.0 0.0 true true 0 (3)] ] -46.7 MCshow ! 0.500 UL LTb 3642 280 M 0 63 V *************** *** 660,666 **** 0.00 0.00 0.00 C 3642 140 M [ [(Helvetica) 140.0 0.0 true true 0 (4)] ] -46.7 MCshow ! 1.000 UL LTb 4472 280 M 0 63 V --- 660,666 ---- 0.00 0.00 0.00 C 3642 140 M [ [(Helvetica) 140.0 0.0 true true 0 (4)] ] -46.7 MCshow ! 0.500 UL LTb 4472 280 M 0 63 V *************** *** 670,676 **** 0.00 0.00 0.00 C 4472 140 M [ [(Helvetica) 140.0 0.0 true true 0 (5)] ] -46.7 MCshow ! 1.000 UL LTb 5302 280 M 0 63 V --- 670,676 ---- 0.00 0.00 0.00 C 4472 140 M [ [(Helvetica) 140.0 0.0 true true 0 (5)] ] -46.7 MCshow ! 0.500 UL LTb 5302 280 M 0 63 V *************** *** 680,686 **** 0.00 0.00 0.00 C 5302 140 M [ [(Helvetica) 140.0 0.0 true true 0 (6)] ] -46.7 MCshow ! 1.000 UL LTb 6132 280 M 0 63 V --- 680,686 ---- 0.00 0.00 0.00 C 5302 140 M [ [(Helvetica) 140.0 0.0 true true 0 (6)] ] -46.7 MCshow ! 0.500 UL LTb 6132 280 M 0 63 V *************** *** 690,696 **** 0.00 0.00 0.00 C 6132 140 M [ [(Helvetica) 140.0 0.0 true true 0 (7)] ] -46.7 MCshow ! 1.000 UL LTb 6962 280 M 0 63 V --- 690,696 ---- 0.00 0.00 0.00 C 6132 140 M [ [(Helvetica) 140.0 0.0 true true 0 (7)] ] -46.7 MCshow ! 0.500 UL LTb 6962 280 M 0 63 V *************** *** 700,708 **** 0.00 0.00 0.00 C 6962 140 M [ [(Helvetica) 140.0 0.0 true true 0 (8)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 322 4872 N 322 280 L --- 700,708 ---- 0.00 0.00 0.00 C 6962 140 M [ [(Helvetica) 140.0 0.0 true true 0 (8)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 322 4872 N 322 280 L *************** *** 711,717 **** -6640 0 V Z stroke 1.000 UP ! 1.000 UL LTb 0.500 UL LT0 --- 711,717 ---- -6640 0 V Z stroke 1.000 UP ! 0.500 UL LTb 0.500 UL LT0 *************** *** 736,742 **** 3642 3560 M 1982 4872 L stroke - 1.000 UL LTb 322 4872 N 322 280 L --- 736,741 ---- *************** *** 745,751 **** -6640 0 V Z stroke 1.000 UP ! 1.000 UL LTb stroke grestore --- 744,750 ---- -6640 0 V Z stroke 1.000 UP ! 0.500 UL LTb stroke grestore Binary files octave-3.0.0/doc/interpreter/gplot.pdf and octave-3.0.1/doc/interpreter/gplot.pdf differ diff -cNr octave-3.0.0/doc/interpreter/grid.eps octave-3.0.1/doc/interpreter/grid.eps *** octave-3.0.0/doc/interpreter/grid.eps Thu Dec 20 16:12:55 2007 --- octave-3.0.1/doc/interpreter/grid.eps Mon Apr 21 12:56:52 2008 *************** *** 1,7 **** %!PS-Adobe-2.0 EPSF-2.0 %%Title: grid.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Thu Dec 20 16:12:55 2007 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments --- 1,7 ---- %!PS-Adobe-2.0 EPSF-2.0 %%Title: grid.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Mon Apr 21 12:56:52 2008 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments *************** *** 48,54 **** /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Thu Dec 20 16:12:55 2007) /DOCINFO pdfmark end } ifelse --- 48,54 ---- /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Mon Apr 21 12:56:52 2008) /DOCINFO pdfmark end } ifelse *************** *** 456,462 **** 0 setgray newpath (Helvetica) findfont 140 scalefont setfont ! 1.000 UL LTb gsave % colour palette begin /maxcolors 64 def --- 456,462 ---- 0 setgray newpath (Helvetica) findfont 140 scalefont setfont ! 0.500 UL LTb gsave % colour palette begin /maxcolors 64 def *************** *** 1811,1817 **** 4971 3386 L stroke LT0 ! 0.00 0.00 1.00 C 1.000 UL LTb 5830 1511 M 5161 1074 L --- 1811,1817 ---- 4971 3386 L stroke LT0 ! 0.00 0.00 1.00 C 0.500 UL LTb 5830 1511 M 5161 1074 L *************** *** 1843,1851 **** 0.00 0.00 0.00 C 1349 1127 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 2039 1588 M -16 -11 V --- 1843,1851 ---- 0.00 0.00 0.00 C 1349 1127 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 2039 1588 M -16 -11 V *************** *** 1855,1863 **** 0.00 0.00 0.00 C 2107 1111 M [ [(Helvetica) 140.0 0.0 true true 0 (1.2)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 2797 1573 M -16 -11 V --- 1855,1863 ---- 0.00 0.00 0.00 C 2107 1111 M [ [(Helvetica) 140.0 0.0 true true 0 (1.2)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 2797 1573 M -16 -11 V *************** *** 1867,1875 **** 0.00 0.00 0.00 C 2865 1096 M [ [(Helvetica) 140.0 0.0 true true 0 (1.4)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 3556 1557 M -17 -10 V --- 1867,1875 ---- 0.00 0.00 0.00 C 2865 1096 M [ [(Helvetica) 140.0 0.0 true true 0 (1.4)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 3556 1557 M -17 -10 V *************** *** 1879,1887 **** 0.00 0.00 0.00 C 3622 1081 M [ [(Helvetica) 140.0 0.0 true true 0 (1.6)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 4313 1542 M -17 -11 V --- 1879,1887 ---- 0.00 0.00 0.00 C 3622 1081 M [ [(Helvetica) 140.0 0.0 true true 0 (1.6)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 4313 1542 M -17 -11 V *************** *** 1891,1899 **** 0.00 0.00 0.00 C 4381 1065 M [ [(Helvetica) 140.0 0.0 true true 0 (1.8)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 5071 1527 M -16 -11 V --- 1891,1899 ---- 0.00 0.00 0.00 C 4381 1065 M [ [(Helvetica) 140.0 0.0 true true 0 (1.8)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 5071 1527 M -16 -11 V *************** *** 1903,1911 **** 0.00 0.00 0.00 C 5139 1050 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 5830 1511 M -17 -11 V --- 1903,1911 ---- 0.00 0.00 0.00 C 5139 1050 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 5830 1511 M -17 -11 V *************** *** 1915,1923 **** 0.00 0.00 0.00 C 5244 1071 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 1370 1151 M 63 -1 V --- 1915,1923 ---- 0.00 0.00 0.00 C 5244 1071 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 1370 1151 M 63 -1 V *************** *** 1927,1935 **** 0.00 0.00 0.00 C 5377 1158 M [ [(Helvetica) 140.0 0.0 true true 0 (1.2)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 1504 1238 M 62 -1 V --- 1927,1935 ---- 0.00 0.00 0.00 C 5377 1158 M [ [(Helvetica) 140.0 0.0 true true 0 (1.2)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 1504 1238 M 62 -1 V *************** *** 1939,1947 **** 0.00 0.00 0.00 C 5511 1246 M [ [(Helvetica) 140.0 0.0 true true 0 (1.4)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 1638 1326 M 62 -2 V --- 1939,1947 ---- 0.00 0.00 0.00 C 5511 1246 M [ [(Helvetica) 140.0 0.0 true true 0 (1.4)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 1638 1326 M 62 -2 V *************** *** 1951,1959 **** 0.00 0.00 0.00 C 5645 1333 M [ [(Helvetica) 140.0 0.0 true true 0 (1.6)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 1772 1413 M 62 -1 V --- 1951,1959 ---- 0.00 0.00 0.00 C 5645 1333 M [ [(Helvetica) 140.0 0.0 true true 0 (1.6)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 1772 1413 M 62 -1 V *************** *** 1963,1971 **** 0.00 0.00 0.00 C 5779 1421 M [ [(Helvetica) 140.0 0.0 true true 0 (1.8)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 1905 1501 M 62 -2 V --- 1963,1971 ---- 0.00 0.00 0.00 C 5779 1421 M [ [(Helvetica) 140.0 0.0 true true 0 (1.8)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 1905 1501 M 62 -2 V *************** *** 1975,1983 **** 0.00 0.00 0.00 C 5912 1508 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 2039 1588 M 62 -1 V --- 1975,1983 ---- 0.00 0.00 0.00 C 5912 1508 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 2039 1588 M 62 -1 V *************** *** 1987,1995 **** 0.00 0.00 0.00 C 1244 1151 M [ [(Helvetica) 140.0 0.0 true true 0 (10)] ] -46.7 MRshow ! 1.000 UL LTb ! 1.000 UL LTb 1370 1655 M 63 0 V --- 1987,1995 ---- 0.00 0.00 0.00 C 1244 1151 M [ [(Helvetica) 140.0 0.0 true true 0 (10)] ] -46.7 MRshow ! 0.500 UL LTb ! 0.500 UL LTb 1370 1655 M 63 0 V *************** *** 1997,2005 **** 0.00 0.00 0.00 C 1244 1655 M [ [(Helvetica) 140.0 0.0 true true 0 (12)] ] -46.7 MRshow ! 1.000 UL LTb ! 1.000 UL LTb 1370 2158 M 63 0 V --- 1997,2005 ---- 0.00 0.00 0.00 C 1244 1655 M [ [(Helvetica) 140.0 0.0 true true 0 (12)] ] -46.7 MRshow ! 0.500 UL LTb ! 0.500 UL LTb 1370 2158 M 63 0 V *************** *** 2007,2015 **** 0.00 0.00 0.00 C 1244 2158 M [ [(Helvetica) 140.0 0.0 true true 0 (14)] ] -46.7 MRshow ! 1.000 UL LTb ! 1.000 UL LTb 1370 2661 M 63 0 V --- 2007,2015 ---- 0.00 0.00 0.00 C 1244 2158 M [ [(Helvetica) 140.0 0.0 true true 0 (14)] ] -46.7 MRshow ! 0.500 UL LTb ! 0.500 UL LTb 1370 2661 M 63 0 V *************** *** 2017,2025 **** 0.00 0.00 0.00 C 1244 2661 M [ [(Helvetica) 140.0 0.0 true true 0 (16)] ] -46.7 MRshow ! 1.000 UL LTb ! 1.000 UL LTb 1370 3165 M 63 0 V --- 2017,2025 ---- 0.00 0.00 0.00 C 1244 2661 M [ [(Helvetica) 140.0 0.0 true true 0 (16)] ] -46.7 MRshow ! 0.500 UL LTb ! 0.500 UL LTb 1370 3165 M 63 0 V *************** *** 2027,2035 **** 0.00 0.00 0.00 C 1244 3165 M [ [(Helvetica) 140.0 0.0 true true 0 (18)] ] -46.7 MRshow ! 1.000 UL LTb ! 1.000 UL LTb 1370 3669 M 63 0 V --- 2027,2035 ---- 0.00 0.00 0.00 C 1244 3165 M [ [(Helvetica) 140.0 0.0 true true 0 (18)] ] -46.7 MRshow ! 0.500 UL LTb ! 0.500 UL LTb 1370 3669 M 63 0 V *************** *** 2037,2043 **** 0.00 0.00 0.00 C 1244 3669 M [ [(Helvetica) 140.0 0.0 true true 0 (20)] ] -46.7 MRshow ! 1.000 UL LTb 1.000 UP grestore % colour palette end --- 2037,2043 ---- 0.00 0.00 0.00 C 1244 3669 M [ [(Helvetica) 140.0 0.0 true true 0 (20)] ] -46.7 MRshow ! 0.500 UL LTb 1.000 UP grestore % colour palette end Binary files octave-3.0.0/doc/interpreter/grid.pdf and octave-3.0.1/doc/interpreter/grid.pdf differ diff -cNr octave-3.0.0/doc/interpreter/griddata.eps octave-3.0.1/doc/interpreter/griddata.eps *** octave-3.0.0/doc/interpreter/griddata.eps Thu Dec 20 16:13:10 2007 --- octave-3.0.1/doc/interpreter/griddata.eps Mon Apr 21 12:57:06 2008 *************** *** 1,7 **** %!PS-Adobe-2.0 EPSF-2.0 %%Title: griddata.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Thu Dec 20 16:13:10 2007 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments --- 1,7 ---- %!PS-Adobe-2.0 EPSF-2.0 %%Title: griddata.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Mon Apr 21 12:57:06 2008 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments *************** *** 48,54 **** /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Thu Dec 20 16:13:10 2007) /DOCINFO pdfmark end } ifelse --- 48,54 ---- /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Mon Apr 21 12:57:06 2008) /DOCINFO pdfmark end } ifelse *************** *** 456,462 **** 0 setgray newpath (Helvetica) findfont 140 scalefont setfont ! 1.000 UL LTb gsave % colour palette begin /maxcolors 64 def --- 456,462 ---- 0 setgray newpath (Helvetica) findfont 140 scalefont setfont ! 0.500 UL LTb gsave % colour palette begin /maxcolors 64 def *************** *** 5247,5253 **** -99 -115 V stroke LT0 ! .262 g 1.000 UL LTb 3245 586 M 3054 779 V --- 5247,5253 ---- -99 -115 V stroke LT0 ! .262 g 0.500 UL LTb 3245 586 M 3054 779 V *************** *** 5272,5280 **** 0.00 0.00 0.00 C 3322 531 M [ [(Helvetica) 140.0 0.0 true true 0 (-1)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 959 1576 M -58 25 V --- 5272,5280 ---- 0.00 0.00 0.00 C 3322 531 M [ [(Helvetica) 140.0 0.0 true true 0 (-1)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 959 1576 M -58 25 V *************** *** 5284,5292 **** 0.00 0.00 0.00 C 4085 725 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.5)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 1723 1771 M -58 25 V --- 5284,5292 ---- 0.00 0.00 0.00 C 4085 725 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.5)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 1723 1771 M -58 25 V *************** *** 5296,5304 **** 0.00 0.00 0.00 C 4848 920 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 2486 1965 M -57 25 V --- 5296,5304 ---- 0.00 0.00 0.00 C 4848 920 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 2486 1965 M -57 25 V *************** *** 5308,5316 **** 0.00 0.00 0.00 C 5612 1115 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 6299 1365 M -58 25 V --- 5308,5316 ---- 0.00 0.00 0.00 C 5612 1115 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 6299 1365 M -58 25 V *************** *** 5318,5326 **** 0.00 0.00 0.00 C 6376 1309 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 3245 586 M 50 13 V --- 5318,5326 ---- 0.00 0.00 0.00 C 6376 1309 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 3245 586 M 50 13 V *************** *** 5328,5336 **** 0.00 0.00 0.00 C 3179 558 M [ [(Helvetica) 140.0 0.0 true true 0 (-1)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 6249 1352 M 50 13 V --- 5328,5336 ---- 0.00 0.00 0.00 C 3179 558 M [ [(Helvetica) 140.0 0.0 true true 0 (-1)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 6249 1352 M 50 13 V *************** *** 5340,5348 **** 0.00 0.00 0.00 C 2593 812 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.5)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 5663 1606 M 50 12 V --- 5340,5348 ---- 0.00 0.00 0.00 C 2593 812 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.5)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 5663 1606 M 50 12 V *************** *** 5352,5360 **** 0.00 0.00 0.00 C 2007 1065 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 5077 1859 M 50 13 V --- 5352,5360 ---- 0.00 0.00 0.00 C 2007 1065 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 5077 1859 M 50 13 V *************** *** 5364,5372 **** 0.00 0.00 0.00 C 1421 1319 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 4491 2113 M 50 13 V --- 5364,5372 ---- 0.00 0.00 0.00 C 1421 1319 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 4491 2113 M 50 13 V *************** *** 5376,5384 **** 0.00 0.00 0.00 C 835 1573 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 964 1601 M -63 0 V --- 5376,5384 ---- 0.00 0.00 0.00 C 835 1573 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 964 1601 M -63 0 V *************** *** 5386,5394 **** 0.00 0.00 0.00 C 775 1601 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.4)] ] -46.7 MRshow ! 1.000 UL LTb ! 1.000 UL LTb 964 1917 M -63 0 V --- 5386,5394 ---- 0.00 0.00 0.00 C 775 1601 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.4)] ] -46.7 MRshow ! 0.500 UL LTb ! 0.500 UL LTb 964 1917 M -63 0 V *************** *** 5396,5404 **** 0.00 0.00 0.00 C 775 1917 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.2)] ] -46.7 MRshow ! 1.000 UL LTb ! 1.000 UL LTb 964 2234 M -63 0 V --- 5396,5404 ---- 0.00 0.00 0.00 C 775 1917 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.2)] ] -46.7 MRshow ! 0.500 UL LTb ! 0.500 UL LTb 964 2234 M -63 0 V *************** *** 5406,5414 **** 0.00 0.00 0.00 C 775 2234 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 1.000 UL LTb ! 1.000 UL LTb 964 2550 M -63 0 V --- 5406,5414 ---- 0.00 0.00 0.00 C 775 2234 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 0.500 UL LTb ! 0.500 UL LTb 964 2550 M -63 0 V *************** *** 5416,5424 **** 0.00 0.00 0.00 C 775 2550 M [ [(Helvetica) 140.0 0.0 true true 0 (0.2)] ] -46.7 MRshow ! 1.000 UL LTb ! 1.000 UL LTb 964 2866 M -63 0 V --- 5416,5424 ---- 0.00 0.00 0.00 C 775 2550 M [ [(Helvetica) 140.0 0.0 true true 0 (0.2)] ] -46.7 MRshow ! 0.500 UL LTb ! 0.500 UL LTb 964 2866 M -63 0 V *************** *** 5426,5434 **** 0.00 0.00 0.00 C 775 2866 M [ [(Helvetica) 140.0 0.0 true true 0 (0.4)] ] -46.7 MRshow ! 1.000 UL LTb ! 1.000 UL LTb 964 3182 M -63 0 V --- 5426,5434 ---- 0.00 0.00 0.00 C 775 2866 M [ [(Helvetica) 140.0 0.0 true true 0 (0.4)] ] -46.7 MRshow ! 0.500 UL LTb ! 0.500 UL LTb 964 3182 M -63 0 V *************** *** 5436,5444 **** 0.00 0.00 0.00 C 775 3182 M [ [(Helvetica) 140.0 0.0 true true 0 (0.6)] ] -46.7 MRshow ! 1.000 UL LTb ! 1.000 UL LTb 964 3499 M -63 0 V --- 5436,5444 ---- 0.00 0.00 0.00 C 775 3182 M [ [(Helvetica) 140.0 0.0 true true 0 (0.6)] ] -46.7 MRshow ! 0.500 UL LTb ! 0.500 UL LTb 964 3499 M -63 0 V *************** *** 5446,5454 **** 0.00 0.00 0.00 C 775 3499 M [ [(Helvetica) 140.0 0.0 true true 0 (0.8)] ] -46.7 MRshow ! 1.000 UL LTb ! 1.000 UL LTb 964 3815 M -63 0 V --- 5446,5454 ---- 0.00 0.00 0.00 C 775 3499 M [ [(Helvetica) 140.0 0.0 true true 0 (0.8)] ] -46.7 MRshow ! 0.500 UL LTb ! 0.500 UL LTb 964 3815 M -63 0 V *************** *** 5456,5462 **** 0.00 0.00 0.00 C 775 3815 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MRshow ! 1.000 UL LTb 1.000 UP grestore % colour palette end --- 5456,5462 ---- 0.00 0.00 0.00 C 775 3815 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MRshow ! 0.500 UL LTb 1.000 UP grestore % colour palette end Binary files octave-3.0.0/doc/interpreter/griddata.pdf and octave-3.0.1/doc/interpreter/griddata.pdf differ diff -cNr octave-3.0.0/doc/interpreter/hist.eps octave-3.0.1/doc/interpreter/hist.eps *** octave-3.0.0/doc/interpreter/hist.eps Thu Dec 20 16:13:18 2007 --- octave-3.0.1/doc/interpreter/hist.eps Mon Apr 21 12:57:13 2008 *************** *** 1,7 **** %!PS-Adobe-2.0 EPSF-2.0 %%Title: hist.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Thu Dec 20 16:13:18 2007 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments --- 1,7 ---- %!PS-Adobe-2.0 EPSF-2.0 %%Title: hist.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Mon Apr 21 12:57:13 2008 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments *************** *** 48,54 **** /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Thu Dec 20 16:13:18 2007) /DOCINFO pdfmark end } ifelse --- 48,54 ---- /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Mon Apr 21 12:57:13 2008) /DOCINFO pdfmark end } ifelse *************** *** 530,536 **** }{ /g {stroke pm3dround pm3dGamma exp setgray} bind def } ifelse ! 1.000 UL LTb 574 280 M 63 0 V --- 530,536 ---- }{ /g {stroke pm3dround pm3dGamma exp setgray} bind def } ifelse ! 0.500 UL LTb 574 280 M 63 0 V *************** *** 540,698 **** 0.00 0.00 0.00 C 490 280 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 1.000 UL LTb ! 574 1045 M 63 0 V 6325 0 R -63 0 V stroke ! 0.00 0.00 0.00 C 490 1045 M [ [(Helvetica) 140.0 0.0 true true 0 (200)] ] -46.7 MRshow ! 1.000 UL LTb ! 574 1811 M 63 0 V 6325 0 R -63 0 V stroke ! 0.00 0.00 0.00 C 490 1811 M [ [(Helvetica) 140.0 0.0 true true 0 (400)] ] -46.7 MRshow ! 1.000 UL LTb ! 574 2576 M 63 0 V 6325 0 R -63 0 V stroke ! 0.00 0.00 0.00 C 490 2576 M [ [(Helvetica) 140.0 0.0 true true 0 (600)] ] -46.7 MRshow ! 1.000 UL LTb ! 574 3341 M 63 0 V 6325 0 R -63 0 V stroke ! 0.00 0.00 0.00 C 490 3341 M [ [(Helvetica) 140.0 0.0 true true 0 (800)] ] -46.7 MRshow ! 1.000 UL LTb ! 574 4107 M 63 0 V 6325 0 R -63 0 V stroke ! 0.00 0.00 0.00 C 490 4107 M [ [(Helvetica) 140.0 0.0 true true 0 (1000)] ] -46.7 MRshow ! 1.000 UL LTb ! 574 4872 M ! 63 0 V ! 6325 0 R ! -63 0 V ! stroke ! 0.00 0.00 0.00 C 490 4872 M ! [ [(Helvetica) 140.0 0.0 true true 0 (1200)] ! ] -46.7 MRshow ! 1.000 UL ! LTb ! 1155 280 M 0 63 V 0 4529 R 0 -63 V stroke ! 0.00 0.00 0.00 C 1155 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-4)] ] -46.7 MCshow ! 1.000 UL LTb ! 1881 280 M 0 63 V 0 4529 R 0 -63 V stroke ! 0.00 0.00 0.00 C 1881 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-3)] ] -46.7 MCshow ! 1.000 UL LTb ! 2607 280 M 0 63 V 0 4529 R 0 -63 V stroke ! 0.00 0.00 0.00 C 2607 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-2)] ] -46.7 MCshow ! 1.000 UL LTb ! 3332 280 M 0 63 V 0 4529 R 0 -63 V stroke ! 0.00 0.00 0.00 C 3332 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-1)] ] -46.7 MCshow ! 1.000 UL LTb ! 4058 280 M 0 63 V 0 4529 R 0 -63 V stroke ! 0.00 0.00 0.00 C 4058 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 1.000 UL LTb ! 4784 280 M 0 63 V 0 4529 R 0 -63 V stroke ! 0.00 0.00 0.00 C 4784 140 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MCshow ! 1.000 UL LTb ! 5510 280 M 0 63 V 0 4529 R 0 -63 V stroke ! 0.00 0.00 0.00 C 5510 140 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MCshow ! 1.000 UL LTb ! 6236 280 M 0 63 V 0 4529 R 0 -63 V stroke ! 0.00 0.00 0.00 C 6236 140 M [ [(Helvetica) 140.0 0.0 true true 0 (3)] ] -46.7 MCshow ! 1.000 UL ! LTb ! 6962 280 M ! 0 63 V ! 0 4529 R ! 0 -63 V ! stroke ! 0.00 0.00 0.00 C 6962 140 M ! [ [(Helvetica) 140.0 0.0 true true 0 (4)] ! ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 574 4872 N 574 280 L --- 540,678 ---- 0.00 0.00 0.00 C 490 280 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 0.500 UL LTb ! 574 1115 M 63 0 V 6325 0 R -63 0 V stroke ! 0.00 0.00 0.00 C 490 1115 M [ [(Helvetica) 140.0 0.0 true true 0 (200)] ] -46.7 MRshow ! 0.500 UL LTb ! 574 1950 M 63 0 V 6325 0 R -63 0 V stroke ! 0.00 0.00 0.00 C 490 1950 M [ [(Helvetica) 140.0 0.0 true true 0 (400)] ] -46.7 MRshow ! 0.500 UL LTb ! 574 2785 M 63 0 V 6325 0 R -63 0 V stroke ! 0.00 0.00 0.00 C 490 2785 M [ [(Helvetica) 140.0 0.0 true true 0 (600)] ] -46.7 MRshow ! 0.500 UL LTb ! 574 3620 M 63 0 V 6325 0 R -63 0 V stroke ! 0.00 0.00 0.00 C 490 3620 M [ [(Helvetica) 140.0 0.0 true true 0 (800)] ] -46.7 MRshow ! 0.500 UL LTb ! 574 4455 M 63 0 V 6325 0 R -63 0 V stroke ! 0.00 0.00 0.00 C 490 4455 M [ [(Helvetica) 140.0 0.0 true true 0 (1000)] ] -46.7 MRshow ! 0.500 UL LTb ! 656 280 M 0 63 V 0 4529 R 0 -63 V stroke ! 0.00 0.00 0.00 C 656 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-4)] ] -46.7 MCshow ! 0.500 UL LTb ! 1475 280 M 0 63 V 0 4529 R 0 -63 V stroke ! 0.00 0.00 0.00 C 1475 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-3)] ] -46.7 MCshow ! 0.500 UL LTb ! 2294 280 M 0 63 V 0 4529 R 0 -63 V stroke ! 0.00 0.00 0.00 C 2294 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-2)] ] -46.7 MCshow ! 0.500 UL LTb ! 3113 280 M 0 63 V 0 4529 R 0 -63 V stroke ! 0.00 0.00 0.00 C 3113 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-1)] ] -46.7 MCshow ! 0.500 UL LTb ! 3932 280 M 0 63 V 0 4529 R 0 -63 V stroke ! 0.00 0.00 0.00 C 3932 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 0.500 UL LTb ! 4751 280 M 0 63 V 0 4529 R 0 -63 V stroke ! 0.00 0.00 0.00 C 4751 140 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MCshow ! 0.500 UL LTb ! 5570 280 M 0 63 V 0 4529 R 0 -63 V stroke ! 0.00 0.00 0.00 C 5570 140 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MCshow ! 0.500 UL LTb ! 6389 280 M 0 63 V 0 4529 R 0 -63 V stroke ! 0.00 0.00 0.00 C 6389 140 M [ [(Helvetica) 140.0 0.0 true true 0 (3)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 574 4872 N 574 280 L *************** *** 701,1119 **** -6388 0 V Z stroke 1.000 UP ! 1.000 UL LTb 1.000 UL LT0 ! 0.00 0.00 0.50 C gsave 581 280 N 0 0 V 0 4 V 211 0 V 0 -4 V 1 PolyFill ! 581 280 M 0 4 V ! 211 0 V 0 -4 V stroke LT0 ! 0.00 0.00 0.00 C 581 280 M 0 4 V ! 211 0 V 0 -4 V ! -211 0 V stroke LT2 ! 0.00 0.00 0.50 C gsave 792 280 N 0 0 V 0 4 V 211 0 V 0 -4 V 1 PolyFill ! 792 280 M ! 0 4 V 211 0 V ! 0 -4 V stroke LT0 ! 0.00 0.00 0.00 C 792 280 M ! 0 4 V 211 0 V ! 0 -4 V -211 0 V stroke LT4 ! 0.00 0.00 0.50 C gsave 1003 280 N 0 0 V 0 0 V 210 0 V 0 0 V 1 PolyFill ! 1003 280 M ! 210 0 V ! stroke ! LT0 ! 0.00 0.00 0.00 C 1003 280 M ! 210 0 V ! -210 0 V stroke LT6 ! 0.00 0.00 0.50 C gsave 1213 280 N 0 0 V 0 0 V 211 0 V 0 0 V 1 PolyFill ! 1213 280 M ! 211 0 V ! stroke ! LT0 ! 0.00 0.00 0.00 C 1213 280 M ! 211 0 V ! -211 0 V stroke LT8 ! 0.00 0.00 0.50 C gsave 1424 280 N 0 0 V 0 15 V 211 0 V 0 -15 V 1 PolyFill ! 1424 280 M ! 0 15 V ! 211 0 V ! 0 -15 V ! stroke ! LT0 ! 0.00 0.00 0.00 C 1424 280 M ! 0 15 V ! 211 0 V ! 0 -15 V ! -211 0 V stroke LT1 ! 0.00 0.00 0.50 C gsave 1635 280 N 0 0 V 0 27 V 211 0 V 0 -27 V 1 PolyFill ! 1635 280 M ! 0 27 V 211 0 V ! 0 -27 V stroke LT0 ! 0.00 0.00 0.00 C 1635 280 M ! 0 27 V 211 0 V ! 0 -27 V -211 0 V stroke LT3 ! 0.00 0.00 0.50 C gsave 1846 280 N 0 0 V 0 80 V 211 0 V 0 -80 V 1 PolyFill ! 1846 280 M ! 0 80 V ! 211 0 V ! 0 -80 V ! stroke ! LT0 ! 0.00 0.00 0.00 C 1846 280 M ! 0 80 V ! 211 0 V ! 0 -80 V ! -211 0 V stroke LT5 ! 0.00 0.00 0.50 C gsave 2057 280 N 0 0 V 0 153 V 211 0 V 0 -153 V 1 PolyFill ! 2057 280 M ! 0 153 V ! 211 0 V ! 0 -153 V ! stroke ! LT0 ! 0.00 0.00 0.00 C 2057 280 M ! 0 153 V ! 211 0 V ! 0 -153 V ! -211 0 V stroke LT7 ! 0.00 0.00 0.50 C gsave 2268 280 N 0 0 V 0 222 V 211 0 V 0 -222 V 1 PolyFill ! 2268 280 M ! 0 222 V ! 211 0 V ! 0 -222 V stroke LT0 ! 0.00 0.00 0.00 C 2268 280 M ! 0 222 V ! 211 0 V ! 0 -222 V ! -211 0 V stroke LT0 ! 0.00 0.00 0.50 C gsave 2479 280 N 0 0 V 0 658 V 211 0 V 0 -658 V 1 PolyFill ! 2479 280 M ! 0 658 V 211 0 V ! 0 -658 V stroke LT0 ! 0.00 0.00 0.00 C 2479 280 M ! 0 658 V 211 0 V ! 0 -658 V -211 0 V stroke LT2 ! 0.00 0.00 0.50 C gsave 2690 280 N 0 0 V 0 938 V 210 0 V 0 -938 V 1 PolyFill ! 2690 280 M ! 0 938 V ! 210 0 V ! 0 -938 V ! stroke ! LT0 ! 0.00 0.00 0.00 C 2690 280 M ! 0 938 V ! 210 0 V ! 0 -938 V ! -210 0 V stroke LT4 ! 0.00 0.00 0.50 C gsave 2900 280 N 0 0 V 0 1665 V 211 0 V 0 -1665 V 1 PolyFill ! 2900 280 M ! 0 1665 V ! 211 0 V ! 0 -1665 V ! stroke ! LT0 ! 0.00 0.00 0.00 C 2900 280 M ! 0 1665 V ! 211 0 V ! 0 -1665 V ! -211 0 V stroke LT6 ! 0.00 0.00 0.50 C gsave 3111 280 N 0 0 V 0 2311 V 211 0 V 0 -2311 V 1 PolyFill ! 3111 280 M ! 0 2311 V ! 211 0 V ! 0 -2311 V ! stroke ! LT0 ! 0.00 0.00 0.00 C 3111 280 M ! 0 2311 V ! 211 0 V ! 0 -2311 V ! -211 0 V stroke LT8 ! 0.00 0.00 0.50 C gsave 3322 280 N 0 0 V 0 3073 V 211 0 V 0 -3073 V 1 PolyFill ! 3322 280 M ! 0 3073 V 211 0 V ! 0 -3073 V stroke LT0 ! 0.00 0.00 0.00 C 3322 280 M ! 0 3073 V 211 0 V ! 0 -3073 V -211 0 V stroke LT1 ! 0.00 0.00 0.50 C gsave 3533 280 N 0 0 V 0 3609 V 211 0 V 0 -3609 V 1 PolyFill ! 3533 280 M ! 0 3609 V ! 211 0 V ! 0 -3609 V ! stroke ! LT0 ! 0.00 0.00 0.00 C 3533 280 M ! 0 3609 V ! 211 0 V ! 0 -3609 V ! -211 0 V stroke LT3 ! 0.00 0.00 0.50 C gsave 3744 280 N 0 0 V 0 4244 V 211 0 V 0 -4244 V 1 PolyFill ! 3744 280 M ! 0 4244 V ! 211 0 V ! 0 -4244 V ! stroke ! LT0 ! 0.00 0.00 0.00 C 3744 280 M ! 0 4244 V ! 211 0 V ! 0 -4244 V ! -211 0 V stroke LT5 ! 0.00 0.00 0.50 C gsave 3955 280 N 0 0 V 0 4309 V 211 0 V 0 -4309 V 1 PolyFill ! 3955 280 M ! 0 4309 V ! 211 0 V ! 0 -4309 V ! stroke ! LT0 ! 0.00 0.00 0.00 C 3955 280 M ! 0 4309 V ! 211 0 V ! 0 -4309 V ! -211 0 V stroke LT7 ! 0.00 0.00 0.50 C gsave 4166 280 N 0 0 V 0 4450 V 211 0 V 0 -4450 V 1 PolyFill ! 4166 280 M ! 0 4450 V 211 0 V ! 0 -4450 V stroke LT0 ! 0.00 0.00 0.00 C 4166 280 M ! 0 4450 V 211 0 V ! 0 -4450 V -211 0 V stroke LT0 ! 0.00 0.00 0.50 C gsave 4377 280 N 0 0 V 0 3670 V 210 0 V 0 -3670 V 1 PolyFill ! 4377 280 M ! 0 3670 V ! 210 0 V ! 0 -3670 V stroke LT0 ! 0.00 0.00 0.00 C 4377 280 M ! 0 3670 V ! 210 0 V ! 0 -3670 V ! -210 0 V stroke LT2 ! 0.00 0.00 0.50 C gsave 4587 280 N 0 0 V 0 2908 V 211 0 V 0 -2908 V 1 PolyFill ! 4587 280 M ! 0 2908 V ! 211 0 V ! 0 -2908 V ! stroke ! LT0 ! 0.00 0.00 0.00 C 4587 280 M ! 0 2908 V ! 211 0 V ! 0 -2908 V ! -211 0 V stroke LT4 ! 0.00 0.00 0.50 C gsave 4798 280 N 0 0 V 0 2154 V 211 0 V 0 -2154 V 1 PolyFill ! 4798 280 M ! 0 2154 V ! 211 0 V ! 0 -2154 V ! stroke ! LT0 ! 0.00 0.00 0.00 C 4798 280 M ! 0 2154 V ! 211 0 V ! 0 -2154 V ! -211 0 V stroke LT6 ! 0.00 0.00 0.50 C gsave 5009 280 N 0 0 V 0 1680 V 211 0 V 0 -1680 V 1 PolyFill ! 5009 280 M ! 0 1680 V 211 0 V ! 0 -1680 V stroke LT0 ! 0.00 0.00 0.00 C 5009 280 M ! 0 1680 V 211 0 V ! 0 -1680 V -211 0 V stroke LT8 ! 0.00 0.00 0.50 C gsave 5220 280 N 0 0 V 0 953 V 211 0 V 0 -953 V 1 PolyFill ! 5220 280 M ! 0 953 V ! 211 0 V ! 0 -953 V ! stroke ! LT0 ! 0.00 0.00 0.00 C 5220 280 M ! 0 953 V ! 211 0 V ! 0 -953 V ! -211 0 V stroke LT1 ! 0.00 0.00 0.50 C gsave 5431 280 N 0 0 V 0 582 V 211 0 V 0 -582 V 1 PolyFill ! 5431 280 M ! 0 582 V ! 211 0 V ! 0 -582 V ! stroke ! LT0 ! 0.00 0.00 0.00 C 5431 280 M ! 0 582 V ! 211 0 V ! 0 -582 V ! -211 0 V stroke LT3 ! 0.00 0.00 0.50 C gsave 5642 280 N 0 0 V 0 310 V 211 0 V 0 -310 V 1 PolyFill ! 5642 280 M ! 0 310 V ! 211 0 V ! 0 -310 V ! stroke ! LT0 ! 0.00 0.00 0.00 C 5642 280 M ! 0 310 V ! 211 0 V ! 0 -310 V ! -211 0 V stroke LT5 ! 0.00 0.00 0.50 C gsave 5853 280 N 0 0 V 0 126 V 211 0 V 0 -126 V 1 PolyFill ! 5853 280 M ! 0 126 V 211 0 V ! 0 -126 V stroke LT0 ! 0.00 0.00 0.00 C 5853 280 M ! 0 126 V 211 0 V ! 0 -126 V -211 0 V stroke LT7 ! 0.00 0.00 0.50 C gsave 6064 280 N 0 0 V 0 69 V 210 0 V 0 -69 V 1 PolyFill ! 6064 280 M ! 0 69 V ! 210 0 V ! 0 -69 V ! stroke ! LT0 ! 0.00 0.00 0.00 C 6064 280 M ! 0 69 V ! 210 0 V ! 0 -69 V ! -210 0 V ! stroke ! LT0 ! 0.00 0.00 0.50 C gsave 6274 280 N 0 0 V 0 31 V 211 0 V 0 -31 V 1 PolyFill ! 6274 280 M ! 0 31 V ! 211 0 V ! 0 -31 V stroke LT0 ! 0.00 0.00 0.00 C 6274 280 M ! 0 31 V ! 211 0 V ! 0 -31 V ! -211 0 V stroke LT2 ! 0.00 0.00 0.50 C gsave 6485 280 N 0 0 V 0 15 V 211 0 V 0 -15 V 1 PolyFill ! 6485 280 M ! 0 15 V ! 211 0 V ! 0 -15 V stroke LT0 ! 0.00 0.00 0.00 C 6485 280 M ! 0 15 V ! 211 0 V ! 0 -15 V ! -211 0 V stroke LT4 ! 0.00 0.00 0.50 C gsave 6696 280 N 0 0 V 0 8 V 211 0 V 0 -8 V 1 PolyFill ! 6696 280 M ! 0 8 V 211 0 V ! 0 -8 V stroke LT0 ! 0.00 0.00 0.00 C 6696 280 M ! 0 8 V 211 0 V ! 0 -8 V -211 0 V stroke LTb --- 681,1166 ---- -6388 0 V Z stroke 1.000 UP ! 0.500 UL LTb 1.000 UL LT0 ! 0.00 0.00 0.50 C gsave 579 280 N 0 0 V 0 4 V 212 0 V 0 -4 V 1 PolyFill ! 579 280 M 0 4 V ! 212 0 V 0 -4 V stroke + 0.500 UL LT0 ! 0.00 0.00 0.00 C 579 280 M 0 4 V ! 212 0 V 0 -4 V ! -212 0 V stroke + 1.000 UL LT2 ! 0.00 0.00 0.50 C gsave 791 280 N 0 0 V 0 13 V 211 0 V 0 -13 V 1 PolyFill ! 791 280 M ! 0 13 V 211 0 V ! 0 -13 V stroke + 0.500 UL LT0 ! 0.00 0.00 0.00 C 791 280 M ! 0 13 V 211 0 V ! 0 -13 V -211 0 V stroke + 1.000 UL LT4 ! 0.00 0.00 0.50 C gsave 1002 280 N 0 0 V 0 13 V 212 0 V 0 -13 V 1 PolyFill ! 1002 280 M ! 0 13 V ! 212 0 V ! 0 -13 V ! stroke ! 0.500 UL ! LT0 ! 0.00 0.00 0.00 C 1002 280 M ! 0 13 V ! 212 0 V ! 0 -13 V ! -212 0 V stroke + 1.000 UL LT6 ! 0.00 0.00 0.50 C gsave 1214 280 N 0 0 V 0 25 V 212 0 V 0 -25 V 1 PolyFill ! 1214 280 M ! 0 25 V ! 212 0 V ! 0 -25 V ! stroke ! 0.500 UL ! LT0 ! 0.00 0.00 0.00 C 1214 280 M ! 0 25 V ! 212 0 V ! 0 -25 V ! -212 0 V stroke + 1.000 UL LT8 ! 0.00 0.00 0.50 C gsave 1426 280 N 0 0 V 0 50 V 212 0 V 0 -50 V 1 PolyFill ! 1426 280 M ! 0 50 V ! 212 0 V ! 0 -50 V ! stroke ! 0.500 UL ! LT0 ! 0.00 0.00 0.00 C 1426 280 M ! 0 50 V ! 212 0 V ! 0 -50 V ! -212 0 V stroke + 1.000 UL LT1 ! 0.00 0.00 0.50 C gsave 1638 280 N 0 0 V 0 104 V 211 0 V 0 -104 V 1 PolyFill ! 1638 280 M ! 0 104 V 211 0 V ! 0 -104 V stroke + 0.500 UL LT0 ! 0.00 0.00 0.00 C 1638 280 M ! 0 104 V 211 0 V ! 0 -104 V -211 0 V stroke + 1.000 UL LT3 ! 0.00 0.00 0.50 C gsave 1849 280 N 0 0 V 0 309 V 212 0 V 0 -309 V 1 PolyFill ! 1849 280 M ! 0 309 V ! 212 0 V ! 0 -309 V ! stroke ! 0.500 UL ! LT0 ! 0.00 0.00 0.00 C 1849 280 M ! 0 309 V ! 212 0 V ! 0 -309 V ! -212 0 V stroke + 1.000 UL LT5 ! 0.00 0.00 0.50 C gsave 2061 280 N 0 0 V 0 434 V 212 0 V 0 -434 V 1 PolyFill ! 2061 280 M ! 0 434 V ! 212 0 V ! 0 -434 V ! stroke ! 0.500 UL ! LT0 ! 0.00 0.00 0.00 C 2061 280 M ! 0 434 V ! 212 0 V ! 0 -434 V ! -212 0 V stroke + 1.000 UL LT7 ! 0.00 0.00 0.50 C gsave 2273 280 N 0 0 V 0 739 V 212 0 V 0 -739 V 1 PolyFill ! 2273 280 M ! 0 739 V ! 212 0 V ! 0 -739 V stroke + 0.500 UL LT0 ! 0.00 0.00 0.00 C 2273 280 M ! 0 739 V ! 212 0 V ! 0 -739 V ! -212 0 V stroke + 1.000 UL LT0 ! 0.00 0.00 0.50 C gsave 2485 280 N 0 0 V 0 1002 V 211 0 V 0 -1002 V 1 PolyFill ! 2485 280 M ! 0 1002 V 211 0 V ! 0 -1002 V stroke + 0.500 UL LT0 ! 0.00 0.00 0.00 C 2485 280 M ! 0 1002 V 211 0 V ! 0 -1002 V -211 0 V stroke + 1.000 UL LT2 ! 0.00 0.00 0.50 C gsave 2696 280 N 0 0 V 0 1641 V 212 0 V 0 -1641 V 1 PolyFill ! 2696 280 M ! 0 1641 V ! 212 0 V ! 0 -1641 V ! stroke ! 0.500 UL ! LT0 ! 0.00 0.00 0.00 C 2696 280 M ! 0 1641 V ! 212 0 V ! 0 -1641 V ! -212 0 V stroke + 1.000 UL LT4 ! 0.00 0.00 0.50 C gsave 2908 280 N 0 0 V 0 2304 V 212 0 V 0 -2304 V 1 PolyFill ! 2908 280 M ! 0 2304 V ! 212 0 V ! 0 -2304 V ! stroke ! 0.500 UL ! LT0 ! 0.00 0.00 0.00 C 2908 280 M ! 0 2304 V ! 212 0 V ! 0 -2304 V ! -212 0 V stroke + 1.000 UL LT6 ! 0.00 0.00 0.50 C gsave 3120 280 N 0 0 V 0 3039 V 212 0 V 0 -3039 V 1 PolyFill ! 3120 280 M ! 0 3039 V ! 212 0 V ! 0 -3039 V ! stroke ! 0.500 UL ! LT0 ! 0.00 0.00 0.00 C 3120 280 M ! 0 3039 V ! 212 0 V ! 0 -3039 V ! -212 0 V stroke + 1.000 UL LT8 ! 0.00 0.00 0.50 C gsave 3332 280 N 0 0 V 0 3732 V 211 0 V 0 -3732 V 1 PolyFill ! 3332 280 M ! 0 3732 V 211 0 V ! 0 -3732 V stroke + 0.500 UL LT0 ! 0.00 0.00 0.00 C 3332 280 M ! 0 3732 V 211 0 V ! 0 -3732 V -211 0 V stroke + 1.000 UL LT1 ! 0.00 0.00 0.50 C gsave 3543 280 N 0 0 V 0 4262 V 212 0 V 0 -4262 V 1 PolyFill ! 3543 280 M ! 0 4262 V ! 212 0 V ! 0 -4262 V ! stroke ! 0.500 UL ! LT0 ! 0.00 0.00 0.00 C 3543 280 M ! 0 4262 V ! 212 0 V ! 0 -4262 V ! -212 0 V stroke + 1.000 UL LT3 ! 0.00 0.00 0.50 C gsave 3755 280 N 0 0 V 0 4296 V 212 0 V 0 -4296 V 1 PolyFill ! 3755 280 M ! 0 4296 V ! 212 0 V ! 0 -4296 V ! stroke ! 0.500 UL ! LT0 ! 0.00 0.00 0.00 C 3755 280 M ! 0 4296 V ! 212 0 V ! 0 -4296 V ! -212 0 V stroke + 1.000 UL LT5 ! 0.00 0.00 0.50 C gsave 3967 280 N 0 0 V 0 4020 V 212 0 V 0 -4020 V 1 PolyFill ! 3967 280 M ! 0 4020 V ! 212 0 V ! 0 -4020 V ! stroke ! 0.500 UL ! LT0 ! 0.00 0.00 0.00 C 3967 280 M ! 0 4020 V ! 212 0 V ! 0 -4020 V ! -212 0 V stroke + 1.000 UL LT7 ! 0.00 0.00 0.50 C gsave 4179 280 N 0 0 V 0 3962 V 211 0 V 0 -3962 V 1 PolyFill ! 4179 280 M ! 0 3962 V 211 0 V ! 0 -3962 V stroke + 0.500 UL LT0 ! 0.00 0.00 0.00 C 4179 280 M ! 0 3962 V 211 0 V ! 0 -3962 V -211 0 V stroke + 1.000 UL LT0 ! 0.00 0.00 0.50 C gsave 4390 280 N 0 0 V 0 3578 V 212 0 V 0 -3578 V 1 PolyFill ! 4390 280 M ! 0 3578 V ! 212 0 V ! 0 -3578 V stroke + 0.500 UL LT0 ! 0.00 0.00 0.00 C 4390 280 M ! 0 3578 V ! 212 0 V ! 0 -3578 V ! -212 0 V stroke + 1.000 UL LT2 ! 0.00 0.00 0.50 C gsave 4602 280 N 0 0 V 0 2446 V 212 0 V 0 -2446 V 1 PolyFill ! 4602 280 M ! 0 2446 V ! 212 0 V ! 0 -2446 V ! stroke ! 0.500 UL ! LT0 ! 0.00 0.00 0.00 C 4602 280 M ! 0 2446 V ! 212 0 V ! 0 -2446 V ! -212 0 V stroke + 1.000 UL LT4 ! 0.00 0.00 0.50 C gsave 4814 280 N 0 0 V 0 2046 V 212 0 V 0 -2046 V 1 PolyFill ! 4814 280 M ! 0 2046 V ! 212 0 V ! 0 -2046 V ! stroke ! 0.500 UL ! LT0 ! 0.00 0.00 0.00 C 4814 280 M ! 0 2046 V ! 212 0 V ! 0 -2046 V ! -212 0 V stroke + 1.000 UL LT6 ! 0.00 0.00 0.50 C gsave 5026 280 N 0 0 V 0 1432 V 211 0 V 0 -1432 V 1 PolyFill ! 5026 280 M ! 0 1432 V 211 0 V ! 0 -1432 V stroke + 0.500 UL LT0 ! 0.00 0.00 0.00 C 5026 280 M ! 0 1432 V 211 0 V ! 0 -1432 V -211 0 V stroke + 1.000 UL LT8 ! 0.00 0.00 0.50 C gsave 5237 280 N 0 0 V 0 977 V 212 0 V 0 -977 V 1 PolyFill ! 5237 280 M ! 0 977 V ! 212 0 V ! 0 -977 V ! stroke ! 0.500 UL ! LT0 ! 0.00 0.00 0.00 C 5237 280 M ! 0 977 V ! 212 0 V ! 0 -977 V ! -212 0 V stroke + 1.000 UL LT1 ! 0.00 0.00 0.50 C gsave 5449 280 N 0 0 V 0 605 V 212 0 V 0 -605 V 1 PolyFill ! 5449 280 M ! 0 605 V ! 212 0 V ! 0 -605 V ! stroke ! 0.500 UL ! LT0 ! 0.00 0.00 0.00 C 5449 280 M ! 0 605 V ! 212 0 V ! 0 -605 V ! -212 0 V stroke + 1.000 UL LT3 ! 0.00 0.00 0.50 C gsave 5661 280 N 0 0 V 0 405 V 212 0 V 0 -405 V 1 PolyFill ! 5661 280 M ! 0 405 V ! 212 0 V ! 0 -405 V ! stroke ! 0.500 UL ! LT0 ! 0.00 0.00 0.00 C 5661 280 M ! 0 405 V ! 212 0 V ! 0 -405 V ! -212 0 V stroke + 1.000 UL LT5 ! 0.00 0.00 0.50 C gsave 5873 280 N 0 0 V 0 171 V 211 0 V 0 -171 V 1 PolyFill ! 5873 280 M ! 0 171 V 211 0 V ! 0 -171 V stroke + 0.500 UL LT0 ! 0.00 0.00 0.00 C 5873 280 M ! 0 171 V 211 0 V ! 0 -171 V -211 0 V stroke + 1.000 UL LT7 ! 0.00 0.00 0.50 C gsave 6084 280 N 0 0 V 0 83 V 212 0 V 0 -83 V 1 PolyFill ! 6084 280 M ! 0 83 V ! 212 0 V ! 0 -83 V ! stroke ! 0.500 UL ! LT0 ! 0.00 0.00 0.00 C 6084 280 M ! 0 83 V ! 212 0 V ! 0 -83 V ! -212 0 V stroke + 1.000 UL LT0 ! 0.00 0.00 0.50 C gsave 6296 280 N 0 0 V 0 25 V 212 0 V 0 -25 V 1 PolyFill ! 6296 280 M ! 0 25 V ! 212 0 V ! 0 -25 V ! stroke ! 0.500 UL ! LT0 ! 0.00 0.00 0.00 C 6296 280 M ! 0 25 V ! 212 0 V ! 0 -25 V ! -212 0 V stroke + 1.000 UL LT2 ! 0.00 0.00 0.50 C gsave 6508 280 N 0 0 V 0 8 V 212 0 V 0 -8 V 1 PolyFill ! 6508 280 M ! 0 8 V ! 212 0 V ! 0 -8 V stroke + 0.500 UL LT0 ! 0.00 0.00 0.00 C 6508 280 M ! 0 8 V ! 212 0 V ! 0 -8 V ! -212 0 V stroke + 1.000 UL LT4 ! 0.00 0.00 0.50 C gsave 6720 280 N 0 0 V 0 21 V 211 0 V 0 -21 V 1 PolyFill ! 6720 280 M ! 0 21 V 211 0 V ! 0 -21 V stroke + 0.500 UL LT0 ! 0.00 0.00 0.00 C 6720 280 M ! 0 21 V 211 0 V ! 0 -21 V -211 0 V stroke LTb *************** *** 1124,1130 **** -6388 0 V Z stroke 1.000 UP ! 1.000 UL LTb stroke grestore --- 1171,1177 ---- -6388 0 V Z stroke 1.000 UP ! 0.500 UL LTb stroke grestore Binary files octave-3.0.0/doc/interpreter/hist.pdf and octave-3.0.1/doc/interpreter/hist.pdf differ Binary files octave-3.0.0/doc/interpreter/hist.png and octave-3.0.1/doc/interpreter/hist.png differ diff -cNr octave-3.0.0/doc/interpreter/inpolygon.eps octave-3.0.1/doc/interpreter/inpolygon.eps *** octave-3.0.0/doc/interpreter/inpolygon.eps Thu Dec 20 16:13:15 2007 --- octave-3.0.1/doc/interpreter/inpolygon.eps Mon Apr 21 12:57:10 2008 *************** *** 1,7 **** %!PS-Adobe-2.0 EPSF-2.0 %%Title: inpolygon.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Thu Dec 20 16:13:15 2007 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments --- 1,7 ---- %!PS-Adobe-2.0 EPSF-2.0 %%Title: inpolygon.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Mon Apr 21 12:57:10 2008 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments *************** *** 48,54 **** /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Thu Dec 20 16:13:15 2007) /DOCINFO pdfmark end } ifelse --- 48,54 ---- /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Mon Apr 21 12:57:10 2008) /DOCINFO pdfmark end } ifelse *************** *** 530,536 **** }{ /g {stroke pm3dround pm3dGamma exp setgray} bind def } ifelse ! 1.000 UL LTb 574 280 M 63 0 V --- 530,536 ---- }{ /g {stroke pm3dround pm3dGamma exp setgray} bind def } ifelse ! 0.500 UL LTb 574 280 M 63 0 V *************** *** 540,546 **** 0.00 0.00 0.00 C 490 280 M [ [(Helvetica) 140.0 0.0 true true 0 (-2)] ] -46.7 MRshow ! 1.000 UL LTb 574 854 M 63 0 V --- 540,546 ---- 0.00 0.00 0.00 C 490 280 M [ [(Helvetica) 140.0 0.0 true true 0 (-2)] ] -46.7 MRshow ! 0.500 UL LTb 574 854 M 63 0 V *************** *** 550,556 **** 0.00 0.00 0.00 C 490 854 M [ [(Helvetica) 140.0 0.0 true true 0 (-1.5)] ] -46.7 MRshow ! 1.000 UL LTb 574 1428 M 63 0 V --- 550,556 ---- 0.00 0.00 0.00 C 490 854 M [ [(Helvetica) 140.0 0.0 true true 0 (-1.5)] ] -46.7 MRshow ! 0.500 UL LTb 574 1428 M 63 0 V *************** *** 560,566 **** 0.00 0.00 0.00 C 490 1428 M [ [(Helvetica) 140.0 0.0 true true 0 (-1)] ] -46.7 MRshow ! 1.000 UL LTb 574 2002 M 63 0 V --- 560,566 ---- 0.00 0.00 0.00 C 490 1428 M [ [(Helvetica) 140.0 0.0 true true 0 (-1)] ] -46.7 MRshow ! 0.500 UL LTb 574 2002 M 63 0 V *************** *** 570,576 **** 0.00 0.00 0.00 C 490 2002 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.5)] ] -46.7 MRshow ! 1.000 UL LTb 574 2576 M 63 0 V --- 570,576 ---- 0.00 0.00 0.00 C 490 2002 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.5)] ] -46.7 MRshow ! 0.500 UL LTb 574 2576 M 63 0 V *************** *** 580,586 **** 0.00 0.00 0.00 C 490 2576 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 1.000 UL LTb 574 3150 M 63 0 V --- 580,586 ---- 0.00 0.00 0.00 C 490 2576 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 0.500 UL LTb 574 3150 M 63 0 V *************** *** 590,596 **** 0.00 0.00 0.00 C 490 3150 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MRshow ! 1.000 UL LTb 574 3724 M 63 0 V --- 590,596 ---- 0.00 0.00 0.00 C 490 3150 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MRshow ! 0.500 UL LTb 574 3724 M 63 0 V *************** *** 600,606 **** 0.00 0.00 0.00 C 490 3724 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MRshow ! 1.000 UL LTb 574 4298 M 63 0 V --- 600,606 ---- 0.00 0.00 0.00 C 490 3724 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MRshow ! 0.500 UL LTb 574 4298 M 63 0 V *************** *** 610,616 **** 0.00 0.00 0.00 C 490 4298 M [ [(Helvetica) 140.0 0.0 true true 0 (1.5)] ] -46.7 MRshow ! 1.000 UL LTb 574 4872 M 63 0 V --- 610,616 ---- 0.00 0.00 0.00 C 490 4298 M [ [(Helvetica) 140.0 0.0 true true 0 (1.5)] ] -46.7 MRshow ! 0.500 UL LTb 574 4872 M 63 0 V *************** *** 620,626 **** 0.00 0.00 0.00 C 490 4872 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MRshow ! 1.000 UL LTb 574 280 M 0 63 V --- 620,626 ---- 0.00 0.00 0.00 C 490 4872 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MRshow ! 0.500 UL LTb 574 280 M 0 63 V *************** *** 630,636 **** 0.00 0.00 0.00 C 574 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-2)] ] -46.7 MCshow ! 1.000 UL LTb 1373 280 M 0 63 V --- 630,636 ---- 0.00 0.00 0.00 C 574 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-2)] ] -46.7 MCshow ! 0.500 UL LTb 1373 280 M 0 63 V *************** *** 640,646 **** 0.00 0.00 0.00 C 1373 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-1.5)] ] -46.7 MCshow ! 1.000 UL LTb 2171 280 M 0 63 V --- 640,646 ---- 0.00 0.00 0.00 C 1373 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-1.5)] ] -46.7 MCshow ! 0.500 UL LTb 2171 280 M 0 63 V *************** *** 650,656 **** 0.00 0.00 0.00 C 2171 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-1)] ] -46.7 MCshow ! 1.000 UL LTb 2970 280 M 0 63 V --- 650,656 ---- 0.00 0.00 0.00 C 2171 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-1)] ] -46.7 MCshow ! 0.500 UL LTb 2970 280 M 0 63 V *************** *** 660,666 **** 0.00 0.00 0.00 C 2970 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.5)] ] -46.7 MCshow ! 1.000 UL LTb 3768 280 M 0 63 V --- 660,666 ---- 0.00 0.00 0.00 C 2970 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.5)] ] -46.7 MCshow ! 0.500 UL LTb 3768 280 M 0 63 V *************** *** 670,676 **** 0.00 0.00 0.00 C 3768 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 1.000 UL LTb 4567 280 M 0 63 V --- 670,676 ---- 0.00 0.00 0.00 C 3768 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 0.500 UL LTb 4567 280 M 0 63 V *************** *** 680,686 **** 0.00 0.00 0.00 C 4567 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MCshow ! 1.000 UL LTb 5365 280 M 0 63 V --- 680,686 ---- 0.00 0.00 0.00 C 4567 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MCshow ! 0.500 UL LTb 5365 280 M 0 63 V *************** *** 690,696 **** 0.00 0.00 0.00 C 5365 140 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MCshow ! 1.000 UL LTb 6164 280 M 0 63 V --- 690,696 ---- 0.00 0.00 0.00 C 5365 140 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MCshow ! 0.500 UL LTb 6164 280 M 0 63 V *************** *** 700,706 **** 0.00 0.00 0.00 C 6164 140 M [ [(Helvetica) 140.0 0.0 true true 0 (1.5)] ] -46.7 MCshow ! 1.000 UL LTb 6962 280 M 0 63 V --- 700,706 ---- 0.00 0.00 0.00 C 6164 140 M [ [(Helvetica) 140.0 0.0 true true 0 (1.5)] ] -46.7 MCshow ! 0.500 UL LTb 6962 280 M 0 63 V *************** *** 710,718 **** 0.00 0.00 0.00 C 6962 140 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 574 4872 N 574 280 L --- 710,718 ---- 0.00 0.00 0.00 C 6962 140 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 574 4872 N 574 280 L *************** *** 721,727 **** -6388 0 V Z stroke 1.000 UP ! 1.000 UL LTb 0.500 UL LT0 --- 721,727 ---- -6388 0 V Z stroke 1.000 UP ! 0.500 UL LTb 0.500 UL LT0 *************** *** 843,849 **** 5502 1805 Circle 3279 869 Circle 2838 4454 Circle ! 1.000 UL LTb 574 4872 N 574 280 L --- 843,849 ---- 5502 1805 Circle 3279 869 Circle 2838 4454 Circle ! 0.500 UL LTb 574 4872 N 574 280 L *************** *** 852,858 **** -6388 0 V Z stroke 1.000 UP ! 1.000 UL LTb stroke grestore --- 852,858 ---- -6388 0 V Z stroke 1.000 UP ! 0.500 UL LTb stroke grestore Binary files octave-3.0.0/doc/interpreter/inpolygon.pdf and octave-3.0.1/doc/interpreter/inpolygon.pdf differ diff -cNr octave-3.0.0/doc/interpreter/interpderiv1.eps octave-3.0.1/doc/interpreter/interpderiv1.eps *** octave-3.0.0/doc/interpreter/interpderiv1.eps Thu Dec 20 16:13:04 2007 --- octave-3.0.1/doc/interpreter/interpderiv1.eps Mon Apr 21 12:57:00 2008 *************** *** 1,7 **** %!PS-Adobe-2.0 EPSF-2.0 %%Title: interpderiv1.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Thu Dec 20 16:13:04 2007 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments --- 1,7 ---- %!PS-Adobe-2.0 EPSF-2.0 %%Title: interpderiv1.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Mon Apr 21 12:57:00 2008 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments *************** *** 48,54 **** /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Thu Dec 20 16:13:04 2007) /DOCINFO pdfmark end } ifelse --- 48,54 ---- /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Mon Apr 21 12:57:00 2008) /DOCINFO pdfmark end } ifelse *************** *** 530,536 **** }{ /g {stroke pm3dround pm3dGamma exp setgray} bind def } ifelse ! 1.000 UL LTb 574 663 M 63 0 V --- 530,536 ---- }{ /g {stroke pm3dround pm3dGamma exp setgray} bind def } ifelse ! 0.500 UL LTb 574 663 M 63 0 V *************** *** 540,546 **** 0.00 0.00 0.00 C 490 663 M [ [(Helvetica) 140.0 0.0 true true 0 (-1)] ] -46.7 MRshow ! 1.000 UL LTb 574 1619 M 63 0 V --- 540,546 ---- 0.00 0.00 0.00 C 490 663 M [ [(Helvetica) 140.0 0.0 true true 0 (-1)] ] -46.7 MRshow ! 0.500 UL LTb 574 1619 M 63 0 V *************** *** 550,556 **** 0.00 0.00 0.00 C 490 1619 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.5)] ] -46.7 MRshow ! 1.000 UL LTb 574 2576 M 63 0 V --- 550,556 ---- 0.00 0.00 0.00 C 490 1619 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.5)] ] -46.7 MRshow ! 0.500 UL LTb 574 2576 M 63 0 V *************** *** 560,566 **** 0.00 0.00 0.00 C 490 2576 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 1.000 UL LTb 574 3533 M 63 0 V --- 560,566 ---- 0.00 0.00 0.00 C 490 2576 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 0.500 UL LTb 574 3533 M 63 0 V *************** *** 570,576 **** 0.00 0.00 0.00 C 490 3533 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MRshow ! 1.000 UL LTb 574 4489 M 63 0 V --- 570,576 ---- 0.00 0.00 0.00 C 490 3533 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MRshow ! 0.500 UL LTb 574 4489 M 63 0 V *************** *** 580,586 **** 0.00 0.00 0.00 C 490 4489 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MRshow ! 1.000 UL LTb 574 280 M 0 63 V --- 580,586 ---- 0.00 0.00 0.00 C 490 4489 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MRshow ! 0.500 UL LTb 574 280 M 0 63 V *************** *** 590,596 **** 0.00 0.00 0.00 C 574 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-2)] ] -46.7 MCshow ! 1.000 UL LTb 1373 280 M 0 63 V --- 590,596 ---- 0.00 0.00 0.00 C 574 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-2)] ] -46.7 MCshow ! 0.500 UL LTb 1373 280 M 0 63 V *************** *** 600,606 **** 0.00 0.00 0.00 C 1373 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-1.5)] ] -46.7 MCshow ! 1.000 UL LTb 2171 280 M 0 63 V --- 600,606 ---- 0.00 0.00 0.00 C 1373 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-1.5)] ] -46.7 MCshow ! 0.500 UL LTb 2171 280 M 0 63 V *************** *** 610,616 **** 0.00 0.00 0.00 C 2171 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-1)] ] -46.7 MCshow ! 1.000 UL LTb 2970 280 M 0 63 V --- 610,616 ---- 0.00 0.00 0.00 C 2171 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-1)] ] -46.7 MCshow ! 0.500 UL LTb 2970 280 M 0 63 V *************** *** 620,626 **** 0.00 0.00 0.00 C 2970 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.5)] ] -46.7 MCshow ! 1.000 UL LTb 3768 280 M 0 63 V --- 620,626 ---- 0.00 0.00 0.00 C 2970 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.5)] ] -46.7 MCshow ! 0.500 UL LTb 3768 280 M 0 63 V *************** *** 630,636 **** 0.00 0.00 0.00 C 3768 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 1.000 UL LTb 4567 280 M 0 63 V --- 630,636 ---- 0.00 0.00 0.00 C 3768 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 0.500 UL LTb 4567 280 M 0 63 V *************** *** 640,646 **** 0.00 0.00 0.00 C 4567 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MCshow ! 1.000 UL LTb 5365 280 M 0 63 V --- 640,646 ---- 0.00 0.00 0.00 C 4567 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MCshow ! 0.500 UL LTb 5365 280 M 0 63 V *************** *** 650,656 **** 0.00 0.00 0.00 C 5365 140 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MCshow ! 1.000 UL LTb 6164 280 M 0 63 V --- 650,656 ---- 0.00 0.00 0.00 C 5365 140 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MCshow ! 0.500 UL LTb 6164 280 M 0 63 V *************** *** 660,666 **** 0.00 0.00 0.00 C 6164 140 M [ [(Helvetica) 140.0 0.0 true true 0 (1.5)] ] -46.7 MCshow ! 1.000 UL LTb 6962 280 M 0 63 V --- 660,666 ---- 0.00 0.00 0.00 C 6164 140 M [ [(Helvetica) 140.0 0.0 true true 0 (1.5)] ] -46.7 MCshow ! 0.500 UL LTb 6962 280 M 0 63 V *************** *** 670,678 **** 0.00 0.00 0.00 C 6962 140 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 574 4872 N 574 280 L --- 670,678 ---- 0.00 0.00 0.00 C 6962 140 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 574 4872 N 574 280 L *************** *** 681,687 **** -6388 0 V Z stroke 1.000 UP ! 1.000 UL LTb 0.500 UL LT0 --- 681,687 ---- -6388 0 V Z stroke 1.000 UP ! 0.500 UL LTb 0.500 UL LT0 *************** *** 1024,1030 **** 40 0 V 40 0 V stroke - 1.000 UL LTb 574 4872 N 574 280 L --- 1024,1029 ---- *************** *** 1033,1039 **** -6388 0 V Z stroke 1.000 UP ! 1.000 UL LTb stroke grestore --- 1032,1038 ---- -6388 0 V Z stroke 1.000 UP ! 0.500 UL LTb stroke grestore Binary files octave-3.0.0/doc/interpreter/interpderiv1.pdf and octave-3.0.1/doc/interpreter/interpderiv1.pdf differ diff -cNr octave-3.0.0/doc/interpreter/interpderiv2.eps octave-3.0.1/doc/interpreter/interpderiv2.eps *** octave-3.0.0/doc/interpreter/interpderiv2.eps Thu Dec 20 16:13:06 2007 --- octave-3.0.1/doc/interpreter/interpderiv2.eps Mon Apr 21 12:57:02 2008 *************** *** 1,7 **** %!PS-Adobe-2.0 EPSF-2.0 %%Title: interpderiv2.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Thu Dec 20 16:13:06 2007 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments --- 1,7 ---- %!PS-Adobe-2.0 EPSF-2.0 %%Title: interpderiv2.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Mon Apr 21 12:57:02 2008 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments *************** *** 48,54 **** /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Thu Dec 20 16:13:06 2007) /DOCINFO pdfmark end } ifelse --- 48,54 ---- /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Mon Apr 21 12:57:02 2008) /DOCINFO pdfmark end } ifelse *************** *** 530,536 **** }{ /g {stroke pm3dround pm3dGamma exp setgray} bind def } ifelse ! 1.000 UL LTb 406 810 M 63 0 V --- 530,536 ---- }{ /g {stroke pm3dround pm3dGamma exp setgray} bind def } ifelse ! 0.500 UL LTb 406 810 M 63 0 V *************** *** 540,546 **** 0.00 0.00 0.00 C 322 810 M [ [(Helvetica) 140.0 0.0 true true 0 (-3)] ] -46.7 MRshow ! 1.000 UL LTb 406 1399 M 63 0 V --- 540,546 ---- 0.00 0.00 0.00 C 322 810 M [ [(Helvetica) 140.0 0.0 true true 0 (-3)] ] -46.7 MRshow ! 0.500 UL LTb 406 1399 M 63 0 V *************** *** 550,556 **** 0.00 0.00 0.00 C 322 1399 M [ [(Helvetica) 140.0 0.0 true true 0 (-2)] ] -46.7 MRshow ! 1.000 UL LTb 406 1987 M 63 0 V --- 550,556 ---- 0.00 0.00 0.00 C 322 1399 M [ [(Helvetica) 140.0 0.0 true true 0 (-2)] ] -46.7 MRshow ! 0.500 UL LTb 406 1987 M 63 0 V *************** *** 560,566 **** 0.00 0.00 0.00 C 322 1987 M [ [(Helvetica) 140.0 0.0 true true 0 (-1)] ] -46.7 MRshow ! 1.000 UL LTb 406 2576 M 63 0 V --- 560,566 ---- 0.00 0.00 0.00 C 322 1987 M [ [(Helvetica) 140.0 0.0 true true 0 (-1)] ] -46.7 MRshow ! 0.500 UL LTb 406 2576 M 63 0 V *************** *** 570,576 **** 0.00 0.00 0.00 C 322 2576 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 1.000 UL LTb 406 3165 M 63 0 V --- 570,576 ---- 0.00 0.00 0.00 C 322 2576 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 0.500 UL LTb 406 3165 M 63 0 V *************** *** 580,586 **** 0.00 0.00 0.00 C 322 3165 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MRshow ! 1.000 UL LTb 406 3753 M 63 0 V --- 580,586 ---- 0.00 0.00 0.00 C 322 3165 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MRshow ! 0.500 UL LTb 406 3753 M 63 0 V *************** *** 590,596 **** 0.00 0.00 0.00 C 322 3753 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MRshow ! 1.000 UL LTb 406 4342 M 63 0 V --- 590,596 ---- 0.00 0.00 0.00 C 322 3753 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MRshow ! 0.500 UL LTb 406 4342 M 63 0 V *************** *** 600,606 **** 0.00 0.00 0.00 C 322 4342 M [ [(Helvetica) 140.0 0.0 true true 0 (3)] ] -46.7 MRshow ! 1.000 UL LTb 406 280 M 0 63 V --- 600,606 ---- 0.00 0.00 0.00 C 322 4342 M [ [(Helvetica) 140.0 0.0 true true 0 (3)] ] -46.7 MRshow ! 0.500 UL LTb 406 280 M 0 63 V *************** *** 610,616 **** 0.00 0.00 0.00 C 406 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-2)] ] -46.7 MCshow ! 1.000 UL LTb 1226 280 M 0 63 V --- 610,616 ---- 0.00 0.00 0.00 C 406 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-2)] ] -46.7 MCshow ! 0.500 UL LTb 1226 280 M 0 63 V *************** *** 620,626 **** 0.00 0.00 0.00 C 1226 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-1.5)] ] -46.7 MCshow ! 1.000 UL LTb 2045 280 M 0 63 V --- 620,626 ---- 0.00 0.00 0.00 C 1226 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-1.5)] ] -46.7 MCshow ! 0.500 UL LTb 2045 280 M 0 63 V *************** *** 630,636 **** 0.00 0.00 0.00 C 2045 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-1)] ] -46.7 MCshow ! 1.000 UL LTb 2865 280 M 0 63 V --- 630,636 ---- 0.00 0.00 0.00 C 2045 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-1)] ] -46.7 MCshow ! 0.500 UL LTb 2865 280 M 0 63 V *************** *** 640,646 **** 0.00 0.00 0.00 C 2865 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.5)] ] -46.7 MCshow ! 1.000 UL LTb 3684 280 M 0 63 V --- 640,646 ---- 0.00 0.00 0.00 C 2865 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.5)] ] -46.7 MCshow ! 0.500 UL LTb 3684 280 M 0 63 V *************** *** 650,656 **** 0.00 0.00 0.00 C 3684 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 1.000 UL LTb 4504 280 M 0 63 V --- 650,656 ---- 0.00 0.00 0.00 C 3684 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 0.500 UL LTb 4504 280 M 0 63 V *************** *** 660,666 **** 0.00 0.00 0.00 C 4504 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MCshow ! 1.000 UL LTb 5323 280 M 0 63 V --- 660,666 ---- 0.00 0.00 0.00 C 4504 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MCshow ! 0.500 UL LTb 5323 280 M 0 63 V *************** *** 670,676 **** 0.00 0.00 0.00 C 5323 140 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MCshow ! 1.000 UL LTb 6143 280 M 0 63 V --- 670,676 ---- 0.00 0.00 0.00 C 5323 140 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MCshow ! 0.500 UL LTb 6143 280 M 0 63 V *************** *** 680,686 **** 0.00 0.00 0.00 C 6143 140 M [ [(Helvetica) 140.0 0.0 true true 0 (1.5)] ] -46.7 MCshow ! 1.000 UL LTb 6962 280 M 0 63 V --- 680,686 ---- 0.00 0.00 0.00 C 6143 140 M [ [(Helvetica) 140.0 0.0 true true 0 (1.5)] ] -46.7 MCshow ! 0.500 UL LTb 6962 280 M 0 63 V *************** *** 690,698 **** 0.00 0.00 0.00 C 6962 140 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 406 4872 N 406 280 L --- 690,698 ---- 0.00 0.00 0.00 C 6962 140 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 406 4872 N 406 280 L *************** *** 701,707 **** -6556 0 V Z stroke 1.000 UP ! 1.000 UL LTb 1.000 UP 0.500 UL --- 701,707 ---- -6556 0 V Z stroke 1.000 UP ! 0.500 UL LTb 1.000 UP 0.500 UL *************** *** 1039,1045 **** 6880 2576 Pls 6921 2576 Pls 6594 4599 Pls ! 1.000 UL LTb 406 4872 N 406 280 L --- 1039,1045 ---- 6880 2576 Pls 6921 2576 Pls 6594 4599 Pls ! 0.500 UL LTb 406 4872 N 406 280 L *************** *** 1048,1054 **** -6556 0 V Z stroke 1.000 UP ! 1.000 UL LTb stroke grestore --- 1048,1054 ---- -6556 0 V Z stroke 1.000 UP ! 0.500 UL LTb stroke grestore Binary files octave-3.0.0/doc/interpreter/interpderiv2.pdf and octave-3.0.1/doc/interpreter/interpderiv2.pdf differ diff -cNr octave-3.0.0/doc/interpreter/interpft.eps octave-3.0.1/doc/interpreter/interpft.eps *** octave-3.0.0/doc/interpreter/interpft.eps Thu Dec 20 16:13:01 2007 --- octave-3.0.1/doc/interpreter/interpft.eps Mon Apr 21 12:56:58 2008 *************** *** 1,7 **** %!PS-Adobe-2.0 EPSF-2.0 %%Title: interpft.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Thu Dec 20 16:13:01 2007 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments --- 1,7 ---- %!PS-Adobe-2.0 EPSF-2.0 %%Title: interpft.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Mon Apr 21 12:56:58 2008 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments *************** *** 48,54 **** /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Thu Dec 20 16:13:01 2007) /DOCINFO pdfmark end } ifelse --- 48,54 ---- /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Mon Apr 21 12:56:58 2008) /DOCINFO pdfmark end } ifelse *************** *** 530,536 **** }{ /g {stroke pm3dround pm3dGamma exp setgray} bind def } ifelse ! 1.000 UL LTb 574 535 M 63 0 V --- 530,536 ---- }{ /g {stroke pm3dround pm3dGamma exp setgray} bind def } ifelse ! 0.500 UL LTb 574 535 M 63 0 V *************** *** 540,546 **** 0.00 0.00 0.00 C 490 535 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.6)] ] -46.7 MRshow ! 1.000 UL LTb 574 1045 M 63 0 V --- 540,546 ---- 0.00 0.00 0.00 C 490 535 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.6)] ] -46.7 MRshow ! 0.500 UL LTb 574 1045 M 63 0 V *************** *** 550,556 **** 0.00 0.00 0.00 C 490 1045 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.4)] ] -46.7 MRshow ! 1.000 UL LTb 574 1556 M 63 0 V --- 550,556 ---- 0.00 0.00 0.00 C 490 1045 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.4)] ] -46.7 MRshow ! 0.500 UL LTb 574 1556 M 63 0 V *************** *** 560,566 **** 0.00 0.00 0.00 C 490 1556 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.2)] ] -46.7 MRshow ! 1.000 UL LTb 574 2066 M 63 0 V --- 560,566 ---- 0.00 0.00 0.00 C 490 1556 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.2)] ] -46.7 MRshow ! 0.500 UL LTb 574 2066 M 63 0 V *************** *** 570,576 **** 0.00 0.00 0.00 C 490 2066 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 1.000 UL LTb 574 2576 M 63 0 V --- 570,576 ---- 0.00 0.00 0.00 C 490 2066 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 0.500 UL LTb 574 2576 M 63 0 V *************** *** 580,586 **** 0.00 0.00 0.00 C 490 2576 M [ [(Helvetica) 140.0 0.0 true true 0 (0.2)] ] -46.7 MRshow ! 1.000 UL LTb 574 3086 M 63 0 V --- 580,586 ---- 0.00 0.00 0.00 C 490 2576 M [ [(Helvetica) 140.0 0.0 true true 0 (0.2)] ] -46.7 MRshow ! 0.500 UL LTb 574 3086 M 63 0 V *************** *** 590,596 **** 0.00 0.00 0.00 C 490 3086 M [ [(Helvetica) 140.0 0.0 true true 0 (0.4)] ] -46.7 MRshow ! 1.000 UL LTb 574 3596 M 63 0 V --- 590,596 ---- 0.00 0.00 0.00 C 490 3086 M [ [(Helvetica) 140.0 0.0 true true 0 (0.4)] ] -46.7 MRshow ! 0.500 UL LTb 574 3596 M 63 0 V *************** *** 600,606 **** 0.00 0.00 0.00 C 490 3596 M [ [(Helvetica) 140.0 0.0 true true 0 (0.6)] ] -46.7 MRshow ! 1.000 UL LTb 574 4107 M 63 0 V --- 600,606 ---- 0.00 0.00 0.00 C 490 3596 M [ [(Helvetica) 140.0 0.0 true true 0 (0.6)] ] -46.7 MRshow ! 0.500 UL LTb 574 4107 M 63 0 V *************** *** 610,616 **** 0.00 0.00 0.00 C 490 4107 M [ [(Helvetica) 140.0 0.0 true true 0 (0.8)] ] -46.7 MRshow ! 1.000 UL LTb 574 4617 M 63 0 V --- 610,616 ---- 0.00 0.00 0.00 C 490 4107 M [ [(Helvetica) 140.0 0.0 true true 0 (0.8)] ] -46.7 MRshow ! 0.500 UL LTb 574 4617 M 63 0 V *************** *** 620,626 **** 0.00 0.00 0.00 C 490 4617 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MRshow ! 1.000 UL LTb 574 280 M 0 63 V --- 620,626 ---- 0.00 0.00 0.00 C 490 4617 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MRshow ! 0.500 UL LTb 574 280 M 0 63 V *************** *** 630,636 **** 0.00 0.00 0.00 C 574 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 1.000 UL LTb 1542 280 M 0 63 V --- 630,636 ---- 0.00 0.00 0.00 C 574 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 0.500 UL LTb 1542 280 M 0 63 V *************** *** 640,646 **** 0.00 0.00 0.00 C 1542 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MCshow ! 1.000 UL LTb 2510 280 M 0 63 V --- 640,646 ---- 0.00 0.00 0.00 C 1542 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MCshow ! 0.500 UL LTb 2510 280 M 0 63 V *************** *** 650,656 **** 0.00 0.00 0.00 C 2510 140 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MCshow ! 1.000 UL LTb 3478 280 M 0 63 V --- 650,656 ---- 0.00 0.00 0.00 C 2510 140 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MCshow ! 0.500 UL LTb 3478 280 M 0 63 V *************** *** 660,666 **** 0.00 0.00 0.00 C 3478 140 M [ [(Helvetica) 140.0 0.0 true true 0 (1.5)] ] -46.7 MCshow ! 1.000 UL LTb 4446 280 M 0 63 V --- 660,666 ---- 0.00 0.00 0.00 C 3478 140 M [ [(Helvetica) 140.0 0.0 true true 0 (1.5)] ] -46.7 MCshow ! 0.500 UL LTb 4446 280 M 0 63 V *************** *** 670,676 **** 0.00 0.00 0.00 C 4446 140 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MCshow ! 1.000 UL LTb 5413 280 M 0 63 V --- 670,676 ---- 0.00 0.00 0.00 C 4446 140 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MCshow ! 0.500 UL LTb 5413 280 M 0 63 V *************** *** 680,686 **** 0.00 0.00 0.00 C 5413 140 M [ [(Helvetica) 140.0 0.0 true true 0 (2.5)] ] -46.7 MCshow ! 1.000 UL LTb 6381 280 M 0 63 V --- 680,686 ---- 0.00 0.00 0.00 C 5413 140 M [ [(Helvetica) 140.0 0.0 true true 0 (2.5)] ] -46.7 MCshow ! 0.500 UL LTb 6381 280 M 0 63 V *************** *** 690,698 **** 0.00 0.00 0.00 C 6381 140 M [ [(Helvetica) 140.0 0.0 true true 0 (3)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 574 4872 N 574 280 L --- 690,698 ---- 0.00 0.00 0.00 C 6381 140 M [ [(Helvetica) 140.0 0.0 true true 0 (3)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 574 4872 N 574 280 L *************** *** 701,707 **** -6388 0 V Z stroke 1.000 UP ! 1.000 UL LTb 0.500 UL LT0 --- 701,707 ---- -6388 0 V Z stroke 1.000 UP ! 0.500 UL LTb 0.500 UL LT0 *************** *** 1041,1047 **** 5801 2435 Pls 6381 2647 Pls 6594 4319 Pls ! 1.000 UL LTb 574 4872 N 574 280 L --- 1041,1047 ---- 5801 2435 Pls 6381 2647 Pls 6594 4319 Pls ! 0.500 UL LTb 574 4872 N 574 280 L *************** *** 1050,1056 **** -6388 0 V Z stroke 1.000 UP ! 1.000 UL LTb stroke grestore --- 1050,1056 ---- -6388 0 V Z stroke 1.000 UP ! 0.500 UL LTb stroke grestore Binary files octave-3.0.0/doc/interpreter/interpft.pdf and octave-3.0.1/doc/interpreter/interpft.pdf differ diff -cNr octave-3.0.0/doc/interpreter/interpn.eps octave-3.0.1/doc/interpreter/interpn.eps *** octave-3.0.0/doc/interpreter/interpn.eps Thu Dec 20 16:13:03 2007 --- octave-3.0.1/doc/interpreter/interpn.eps Mon Apr 21 12:56:59 2008 *************** *** 1,7 **** %!PS-Adobe-2.0 EPSF-2.0 %%Title: interpn.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Thu Dec 20 16:13:03 2007 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments --- 1,7 ---- %!PS-Adobe-2.0 EPSF-2.0 %%Title: interpn.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Mon Apr 21 12:56:59 2008 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments *************** *** 48,54 **** /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Thu Dec 20 16:13:03 2007) /DOCINFO pdfmark end } ifelse --- 48,54 ---- /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Mon Apr 21 12:56:59 2008) /DOCINFO pdfmark end } ifelse *************** *** 456,462 **** 0 setgray newpath (Helvetica) findfont 140 scalefont setfont ! 1.000 UL LTb gsave % colour palette begin /maxcolors 64 def --- 456,462 ---- 0 setgray newpath (Helvetica) findfont 140 scalefont setfont ! 0.500 UL LTb gsave % colour palette begin /maxcolors 64 def *************** *** 3603,3609 **** 153 147 V stroke LT0 ! .0117 g 1.000 UL LTb 3245 586 M 3054 779 V --- 3603,3609 ---- 153 147 V stroke LT0 ! .0117 g 0.500 UL LTb 3245 586 M 3054 779 V *************** *** 3637,3645 **** 0.00 0.00 0.00 C 3322 531 M [ [(Helvetica) 140.0 0.0 true true 0 (-1)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 959 1576 M -58 25 V --- 3637,3645 ---- 0.00 0.00 0.00 C 3322 531 M [ [(Helvetica) 140.0 0.0 true true 0 (-1)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 959 1576 M -58 25 V *************** *** 3649,3657 **** 0.00 0.00 0.00 C 4085 725 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.5)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 4771 976 M -57 24 V --- 3649,3657 ---- 0.00 0.00 0.00 C 4085 725 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.5)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 4771 976 M -57 24 V *************** *** 3659,3667 **** 0.00 0.00 0.00 C 4848 920 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 5535 1170 M -58 25 V --- 3659,3667 ---- 0.00 0.00 0.00 C 4848 920 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 5535 1170 M -58 25 V *************** *** 3669,3677 **** 0.00 0.00 0.00 C 5612 1115 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 6299 1365 M -58 25 V --- 3669,3677 ---- 0.00 0.00 0.00 C 5612 1115 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 6299 1365 M -58 25 V *************** *** 3679,3687 **** 0.00 0.00 0.00 C 6376 1309 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 4013 2355 M -58 25 V --- 3679,3687 ---- 0.00 0.00 0.00 C 6376 1309 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 4013 2355 M -58 25 V *************** *** 3691,3699 **** 0.00 0.00 0.00 C 3179 558 M [ [(Helvetica) 140.0 0.0 true true 0 (-1)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 6249 1352 M 50 13 V --- 3691,3699 ---- 0.00 0.00 0.00 C 3179 558 M [ [(Helvetica) 140.0 0.0 true true 0 (-1)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 6249 1352 M 50 13 V *************** *** 3703,3711 **** 0.00 0.00 0.00 C 2593 812 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.5)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 5663 1606 M 50 12 V --- 3703,3711 ---- 0.00 0.00 0.00 C 2593 812 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.5)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 5663 1606 M 50 12 V *************** *** 3715,3723 **** 0.00 0.00 0.00 C 2007 1065 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 5077 1859 M 50 13 V --- 3715,3723 ---- 0.00 0.00 0.00 C 2007 1065 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 5077 1859 M 50 13 V *************** *** 3727,3735 **** 0.00 0.00 0.00 C 1421 1319 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 4491 2113 M 50 13 V --- 3727,3735 ---- 0.00 0.00 0.00 C 1421 1319 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 4491 2113 M 50 13 V *************** *** 3739,3747 **** 0.00 0.00 0.00 C 835 1573 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 3905 2367 M 50 13 V --- 3739,3747 ---- 0.00 0.00 0.00 C 835 1573 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 3905 2367 M 50 13 V *************** *** 3751,3759 **** 0.00 0.00 0.00 C 775 1702 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 1.000 UL LTb ! 1.000 UL LTb 964 2205 M -63 0 V --- 3751,3759 ---- 0.00 0.00 0.00 C 775 1702 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 0.500 UL LTb ! 0.500 UL LTb 964 2205 M -63 0 V *************** *** 3761,3774 **** 0.00 0.00 0.00 C 775 2205 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MRshow ! 1.000 UL LTb 0.00 0.00 0.00 C 775 2708 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MRshow ! 1.000 UL LTb ! 1.000 UL LTb 964 3211 M -63 0 V --- 3761,3774 ---- 0.00 0.00 0.00 C 775 2205 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MRshow ! 0.500 UL LTb 0.00 0.00 0.00 C 775 2708 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MRshow ! 0.500 UL LTb ! 0.500 UL LTb 964 3211 M -63 0 V *************** *** 3776,3784 **** 0.00 0.00 0.00 C 775 3211 M [ [(Helvetica) 140.0 0.0 true true 0 (1.5)] ] -46.7 MRshow ! 1.000 UL LTb ! 1.000 UL LTb 964 3714 M -63 0 V --- 3776,3784 ---- 0.00 0.00 0.00 C 775 3211 M [ [(Helvetica) 140.0 0.0 true true 0 (1.5)] ] -46.7 MRshow ! 0.500 UL LTb ! 0.500 UL LTb 964 3714 M -63 0 V *************** *** 3786,3792 **** 0.00 0.00 0.00 C 775 3714 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MRshow ! 1.000 UL LTb 1.000 UP grestore % colour palette end --- 3786,3792 ---- 0.00 0.00 0.00 C 775 3714 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MRshow ! 0.500 UL LTb 1.000 UP grestore % colour palette end Binary files octave-3.0.0/doc/interpreter/interpn.pdf and octave-3.0.1/doc/interpreter/interpn.pdf differ diff -cNr octave-3.0.0/doc/interpreter/io.texi octave-3.0.1/doc/interpreter/io.texi *** octave-3.0.0/doc/interpreter/io.texi Fri Dec 21 16:28:42 2007 --- octave-3.0.1/doc/interpreter/io.texi Mon Apr 21 12:58:26 2008 *************** *** 298,303 **** --- 298,304 ---- @deffnx {Command} more off Turn output pagination on or off. Without an argument, @code{more} toggles the current state. + The current state can be determined via @code{page_screen_output}. @end deffn diff -cNr octave-3.0.0/doc/interpreter/linalg.texi octave-3.0.1/doc/interpreter/linalg.texi *** octave-3.0.0/doc/interpreter/linalg.texi Fri Dec 21 16:28:42 2007 --- octave-3.0.1/doc/interpreter/linalg.texi Mon Apr 21 12:58:26 2008 *************** *** 127,137 **** @anchor{doc-cond} ! @deftypefn {Function File} {} cond (@var{a}) ! Compute the (two-norm) condition number of a matrix. @code{cond (a)} is ! defined as @code{norm (a) * norm (inv (a))}, and is computed via a ! singular value decomposition. ! @seealso{norm, svd, rank} @end deftypefn --- 127,139 ---- @anchor{doc-cond} ! @deftypefn {Function File} {} cond (@var{a},@var{p}) ! Compute the @var{p}-norm condition number of a matrix. @code{cond (@var{a})} is ! defined as @code{norm (@var{a}, @var{p}) * norm (inv (@var{a}), @var{p})}. ! By default @code{@var{p}=2} is used which implies a (relatively slow) ! singular value decomposition. Other possible selections are ! @code{@var{p}= 1, Inf, inf, 'Inf', 'fro'} which are generally faster. ! @seealso{norm, inv, det, svd, rank} @end deftypefn *************** *** 237,243 **** Mark the matrix as full. @item 'positive definite' ! Full positive definite matrix. @item 'diagonal' Diagonal Matrix. (Sparse matrices only) --- 239,245 ---- Mark the matrix as full. @item 'positive definite' ! Probable full positive definite matrix. @item 'diagonal' Diagonal Matrix. (Sparse matrices only) *************** *** 261,268 **** @itemx 'banded positive definite' Banded matrix with the band size of @var{nl} below the diagonal and @var{nu} above it. If @var{nl} and @var{nu} are 1, then the matrix is tridiagonal and treated ! with specialized code. In addition the matrix can be marked as positive definite ! (Sparse matrices only) @item 'singular' The matrix is assumed to be singular and will be treated with a minimum norm solution --- 263,270 ---- @itemx 'banded positive definite' Banded matrix with the band size of @var{nl} below the diagonal and @var{nu} above it. If @var{nl} and @var{nu} are 1, then the matrix is tridiagonal and treated ! with specialized code. In addition the matrix can be marked as probably a ! positive definite (Sparse matrices only) @item 'singular' The matrix is assumed to be singular and will be treated with a minimum norm solution *************** *** 275,280 **** --- 277,290 ---- matrix type will result in incorrect results from solutions of linear equations, and so it is entirely the responsibility of the user to correctly identify the matrix type. + + Also the test for positive definiteness is a low cost test for a hermitian + matrix with a real positive diagonal. This does not guarentee that the matrix + is positive definite, but only that it is a probable candidate. When such a + matrix is factorized, a Cholesky factorization is first attempted, and if + that fails the matrix is then treated with an LU factorization. Once the + matrix has been factorized, @code{matrix_type} will return the correct + classification of the matrix. @end deftypefn diff -cNr octave-3.0.0/doc/interpreter/matrix.texi octave-3.0.1/doc/interpreter/matrix.texi *** octave-3.0.0/doc/interpreter/matrix.texi Fri Dec 21 16:28:42 2007 --- octave-3.0.1/doc/interpreter/matrix.texi Mon Apr 21 12:58:26 2008 *************** *** 628,634 **** @deftypefn {Function File} {} sortrows (@var{a}, @var{c}) Sort the rows of the matrix @var{a} according to the order of the columns specified in @var{c}. If @var{c} is omitted, a ! lexicographical sort is used. @end deftypefn --- 628,636 ---- @deftypefn {Function File} {} sortrows (@var{a}, @var{c}) Sort the rows of the matrix @var{a} according to the order of the columns specified in @var{c}. If @var{c} is omitted, a ! lexicographical sort is used. By default ascending order is used ! however if elements of @var{c} are negative then the corrosponding ! column is sorted in descending order. @end deftypefn diff -cNr octave-3.0.0/doc/interpreter/mesh.eps octave-3.0.1/doc/interpreter/mesh.eps *** octave-3.0.0/doc/interpreter/mesh.eps Thu Dec 20 16:13:22 2007 --- octave-3.0.1/doc/interpreter/mesh.eps Mon Apr 21 12:57:17 2008 *************** *** 1,7 **** %!PS-Adobe-2.0 EPSF-2.0 %%Title: mesh.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Thu Dec 20 16:13:22 2007 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments --- 1,7 ---- %!PS-Adobe-2.0 EPSF-2.0 %%Title: mesh.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Mon Apr 21 12:57:17 2008 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments *************** *** 48,54 **** /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Thu Dec 20 16:13:22 2007) /DOCINFO pdfmark end } ifelse --- 48,54 ---- /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Mon Apr 21 12:57:17 2008) /DOCINFO pdfmark end } ifelse *************** *** 456,462 **** 0 setgray newpath (Helvetica) findfont 140 scalefont setfont ! 1.000 UL LTb gsave % colour palette begin /maxcolors 64 def --- 456,462 ---- 0 setgray newpath (Helvetica) findfont 140 scalefont setfont ! 0.500 UL LTb gsave % colour palette begin /maxcolors 64 def *************** *** 9460,9466 **** 77 9 V stroke LT0 ! .1784 g 1.000 UL LTb 3245 586 M 3054 779 V --- 9460,9466 ---- 77 9 V stroke LT0 ! .1784 g 0.500 UL LTb 3245 586 M 3054 779 V *************** *** 9499,9507 **** 0.00 0.00 0.00 C 3322 531 M [ [(Helvetica) 140.0 0.0 true true 0 (-8)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 959 1576 M -58 25 V --- 9499,9507 ---- 0.00 0.00 0.00 C 3322 531 M [ [(Helvetica) 140.0 0.0 true true 0 (-8)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 959 1576 M -58 25 V *************** *** 9511,9519 **** 0.00 0.00 0.00 C 3703 628 M [ [(Helvetica) 140.0 0.0 true true 0 (-6)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 1341 1673 M -58 25 V --- 9511,9519 ---- 0.00 0.00 0.00 C 3703 628 M [ [(Helvetica) 140.0 0.0 true true 0 (-6)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 1341 1673 M -58 25 V *************** *** 9523,9531 **** 0.00 0.00 0.00 C 4085 725 M [ [(Helvetica) 140.0 0.0 true true 0 (-4)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 1723 1771 M -58 25 V --- 9523,9531 ---- 0.00 0.00 0.00 C 4085 725 M [ [(Helvetica) 140.0 0.0 true true 0 (-4)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 1723 1771 M -58 25 V *************** *** 9535,9543 **** 0.00 0.00 0.00 C 4467 823 M [ [(Helvetica) 140.0 0.0 true true 0 (-2)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 4771 976 M -57 24 V --- 9535,9543 ---- 0.00 0.00 0.00 C 4467 823 M [ [(Helvetica) 140.0 0.0 true true 0 (-2)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 4771 976 M -57 24 V *************** *** 9545,9553 **** 0.00 0.00 0.00 C 4848 920 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 5153 1073 M -58 25 V --- 9545,9553 ---- 0.00 0.00 0.00 C 4848 920 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 5153 1073 M -58 25 V *************** *** 9555,9563 **** 0.00 0.00 0.00 C 5230 1017 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 5535 1170 M -58 25 V --- 9555,9563 ---- 0.00 0.00 0.00 C 5230 1017 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 5535 1170 M -58 25 V *************** *** 9565,9573 **** 0.00 0.00 0.00 C 5612 1115 M [ [(Helvetica) 140.0 0.0 true true 0 (4)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 5917 1267 M -58 25 V --- 9565,9573 ---- 0.00 0.00 0.00 C 5612 1115 M [ [(Helvetica) 140.0 0.0 true true 0 (4)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 5917 1267 M -58 25 V *************** *** 9575,9583 **** 0.00 0.00 0.00 C 5994 1212 M [ [(Helvetica) 140.0 0.0 true true 0 (6)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 6299 1365 M -58 25 V --- 9575,9583 ---- 0.00 0.00 0.00 C 5994 1212 M [ [(Helvetica) 140.0 0.0 true true 0 (6)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 6299 1365 M -58 25 V *************** *** 9585,9593 **** 0.00 0.00 0.00 C 6376 1309 M [ [(Helvetica) 140.0 0.0 true true 0 (8)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 3245 586 M 50 13 V --- 9585,9593 ---- 0.00 0.00 0.00 C 6376 1309 M [ [(Helvetica) 140.0 0.0 true true 0 (8)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 3245 586 M 50 13 V *************** *** 9595,9603 **** 0.00 0.00 0.00 C 3179 558 M [ [(Helvetica) 140.0 0.0 true true 0 (-8)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 6249 1352 M 50 13 V --- 9595,9603 ---- 0.00 0.00 0.00 C 3179 558 M [ [(Helvetica) 140.0 0.0 true true 0 (-8)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 6249 1352 M 50 13 V *************** *** 9607,9615 **** 0.00 0.00 0.00 C 2886 685 M [ [(Helvetica) 140.0 0.0 true true 0 (-6)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 5956 1479 M 50 13 V --- 9607,9615 ---- 0.00 0.00 0.00 C 2886 685 M [ [(Helvetica) 140.0 0.0 true true 0 (-6)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 5956 1479 M 50 13 V *************** *** 9619,9627 **** 0.00 0.00 0.00 C 2593 812 M [ [(Helvetica) 140.0 0.0 true true 0 (-4)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 5663 1606 M 50 12 V --- 9619,9627 ---- 0.00 0.00 0.00 C 2593 812 M [ [(Helvetica) 140.0 0.0 true true 0 (-4)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 5663 1606 M 50 12 V *************** *** 9631,9639 **** 0.00 0.00 0.00 C 2300 938 M [ [(Helvetica) 140.0 0.0 true true 0 (-2)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 5370 1733 M 50 12 V --- 9631,9639 ---- 0.00 0.00 0.00 C 2300 938 M [ [(Helvetica) 140.0 0.0 true true 0 (-2)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 5370 1733 M 50 12 V *************** *** 9643,9651 **** 0.00 0.00 0.00 C 2007 1065 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 5077 1859 M 39 10 V --- 9643,9651 ---- 0.00 0.00 0.00 C 2007 1065 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 5077 1859 M 39 10 V *************** *** 9655,9663 **** 0.00 0.00 0.00 C 1714 1192 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 1487 1347 M 50 13 V --- 9655,9663 ---- 0.00 0.00 0.00 C 1714 1192 M [ [(Helvetica) 140.0 0.0 true true 0 (2)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 1487 1347 M 50 13 V *************** *** 9665,9673 **** 0.00 0.00 0.00 C 1421 1319 M [ [(Helvetica) 140.0 0.0 true true 0 (4)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 1194 1474 M 50 13 V --- 9665,9673 ---- 0.00 0.00 0.00 C 1421 1319 M [ [(Helvetica) 140.0 0.0 true true 0 (4)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 1194 1474 M 50 13 V *************** *** 9675,9683 **** 0.00 0.00 0.00 C 1128 1446 M [ [(Helvetica) 140.0 0.0 true true 0 (6)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 901 1601 M 50 13 V --- 9675,9683 ---- 0.00 0.00 0.00 C 1128 1446 M [ [(Helvetica) 140.0 0.0 true true 0 (6)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 901 1601 M 50 13 V *************** *** 9685,9693 **** 0.00 0.00 0.00 C 835 1573 M [ [(Helvetica) 140.0 0.0 true true 0 (8)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 964 1771 M -63 0 V --- 9685,9693 ---- 0.00 0.00 0.00 C 835 1573 M [ [(Helvetica) 140.0 0.0 true true 0 (8)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 964 1771 M -63 0 V *************** *** 9695,9703 **** 0.00 0.00 0.00 C 775 1771 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.2)] ] -46.7 MRshow ! 1.000 UL LTb ! 1.000 UL LTb 964 2112 M -63 0 V --- 9695,9703 ---- 0.00 0.00 0.00 C 775 1771 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.2)] ] -46.7 MRshow ! 0.500 UL LTb ! 0.500 UL LTb 964 2112 M -63 0 V *************** *** 9705,9713 **** 0.00 0.00 0.00 C 775 2112 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 1.000 UL LTb ! 1.000 UL LTb 964 2453 M -63 0 V --- 9705,9713 ---- 0.00 0.00 0.00 C 775 2112 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 0.500 UL LTb ! 0.500 UL LTb 964 2453 M -63 0 V *************** *** 9715,9723 **** 0.00 0.00 0.00 C 775 2453 M [ [(Helvetica) 140.0 0.0 true true 0 (0.2)] ] -46.7 MRshow ! 1.000 UL LTb ! 1.000 UL LTb 964 2793 M -63 0 V --- 9715,9723 ---- 0.00 0.00 0.00 C 775 2453 M [ [(Helvetica) 140.0 0.0 true true 0 (0.2)] ] -46.7 MRshow ! 0.500 UL LTb ! 0.500 UL LTb 964 2793 M -63 0 V *************** *** 9725,9733 **** 0.00 0.00 0.00 C 775 2793 M [ [(Helvetica) 140.0 0.0 true true 0 (0.4)] ] -46.7 MRshow ! 1.000 UL LTb ! 1.000 UL LTb 964 3134 M -63 0 V --- 9725,9733 ---- 0.00 0.00 0.00 C 775 2793 M [ [(Helvetica) 140.0 0.0 true true 0 (0.4)] ] -46.7 MRshow ! 0.500 UL LTb ! 0.500 UL LTb 964 3134 M -63 0 V *************** *** 9735,9743 **** 0.00 0.00 0.00 C 775 3134 M [ [(Helvetica) 140.0 0.0 true true 0 (0.6)] ] -46.7 MRshow ! 1.000 UL LTb ! 1.000 UL LTb 964 3474 M -63 0 V --- 9735,9743 ---- 0.00 0.00 0.00 C 775 3134 M [ [(Helvetica) 140.0 0.0 true true 0 (0.6)] ] -46.7 MRshow ! 0.500 UL LTb ! 0.500 UL LTb 964 3474 M -63 0 V *************** *** 9745,9753 **** 0.00 0.00 0.00 C 775 3474 M [ [(Helvetica) 140.0 0.0 true true 0 (0.8)] ] -46.7 MRshow ! 1.000 UL LTb ! 1.000 UL LTb 964 3815 M -63 0 V --- 9745,9753 ---- 0.00 0.00 0.00 C 775 3474 M [ [(Helvetica) 140.0 0.0 true true 0 (0.8)] ] -46.7 MRshow ! 0.500 UL LTb ! 0.500 UL LTb 964 3815 M -63 0 V *************** *** 9755,9761 **** 0.00 0.00 0.00 C 775 3815 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MRshow ! 1.000 UL LTb 1.000 UP grestore % colour palette end --- 9755,9761 ---- 0.00 0.00 0.00 C 775 3815 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MRshow ! 0.500 UL LTb 1.000 UP grestore % colour palette end Binary files octave-3.0.0/doc/interpreter/mesh.pdf and octave-3.0.1/doc/interpreter/mesh.pdf differ diff -cNr octave-3.0.0/doc/interpreter/mkoctfile.1 octave-3.0.1/doc/interpreter/mkoctfile.1 *** octave-3.0.0/doc/interpreter/mkoctfile.1 Fri Oct 12 20:52:12 2007 --- octave-3.0.1/doc/interpreter/mkoctfile.1 Mon Apr 21 12:00:19 2008 *************** *** 1,4 **** ! .\" Copyright (C) 2000, 2002, 2003, 2004, 2005, 2006, 2007 .\" Dirk Eddelbuettel .\" .\" This file is part of Octave. --- 1,4 ---- ! .\" Copyright (C) 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008 .\" Dirk Eddelbuettel .\" .\" This file is part of Octave. *************** *** 21,31 **** .\" .TH MKOCTFILE 1 "1 November 2002" "GNU Octave" .SH NAME ! mkoctfile - Compile dynamic-load modules for GNU Octave .SH SYNOPSIS ! .BR mkoctfile\ [-IDIR]\ [-DDEF]\ [-lLIB]\ [-LDIR]\ [-M|--depend]\ ! [-c]\ [-o FILE|--output FILE]\ [-p VAR|--print VAR]\ [-s|\--strip]\ ! [-v|--verbose]\ [-h|-?|--help]\ \fIfile\fP .\|.\|. .SH DESCRIPTION .PP \fImkoctfile\fP is used to compile source C, C++ or Fortran source code in --- 21,31 ---- .\" .TH MKOCTFILE 1 "1 November 2002" "GNU Octave" .SH NAME ! mkoctfile \- Compile dynamic-load modules for GNU Octave .SH SYNOPSIS ! .BR mkoctfile\ [\-IDIR]\ [\-DDEF]\ [\-lLIB]\ [\-LDIR]\ [\-M|\-\-depend]\ ! [\-c]\ [\-o FILE|\-\-output FILE]\ [\-p VAR|\-\-print VAR]\ [\-s|\-\-strip]\ ! [\-v|\-\-verbose]\ [\-h|\-?|\-\-help]\ \fIfile\fP .\|.\|. .SH DESCRIPTION .PP \fImkoctfile\fP is used to compile source C, C++ or Fortran source code in *************** *** 55,61 **** Compile but do not link. .TP 8 .B \-o FILE|\-\-output FILE ! Output file name; default extension is .oct (or .mex if --mex is specified) unless linking a stand-alone executable. .TP .B \-p VAR|\-\-print VAR --- 55,61 ---- Compile but do not link. .TP 8 .B \-o FILE|\-\-output FILE ! Output file name; default extension is .oct (or .mex if \-\-mex is specified) unless linking a stand-alone executable. .TP .B \-p VAR|\-\-print VAR diff -cNr octave-3.0.0/doc/interpreter/nonlin.texi octave-3.0.1/doc/interpreter/nonlin.texi *** octave-3.0.0/doc/interpreter/nonlin.texi Fri Dec 21 16:28:42 2007 --- octave-3.0.1/doc/interpreter/nonlin.texi Mon Apr 21 12:58:26 2008 *************** *** 1,6 **** @c DO NOT EDIT! Generated automatically by munge-texi. ! @c Copyright (C) 1996, 1997, 2007 John W. Eaton @c @c This file is part of Octave. @c --- 1,6 ---- @c DO NOT EDIT! Generated automatically by munge-texi. ! @c Copyright (C) 1996, 1997, 2007, 2008 John W. Eaton @c @c This file is part of Octave. @c *************** *** 50,55 **** --- 50,73 ---- and an initial starting point @var{x0}, @code{fsolve} solves the set of equations such that @code{f(@var{x}) == 0}. + On return, @var{fval} contains the value of the function @var{fcn} + evaluated at @var{x}, and @var{info} may be one of the following values: + + @table @asis + + @item -2 + Invalid input parameters. + @item -1 + Error in user-supplied function. + @item 1 + Relative error between two consecutive iterates is at most the + specified tolerance (see @code{fsolve_options}). + @item 3 + Algorithm failed to converge. + @item 4 + Limit on number of function calls reached. + @end table + If @var{fcn} is a two-element string array, or a two element cell array containing either the function name or inline or function handle. The first element names the function @math{f} described above, and the second *************** *** 122,128 **** @code{f} defined above, @example ! [x, info] = fsolve (@@f, [1; 2]) @end example @noindent --- 140,146 ---- @code{f} defined above, @example ! [x, fval, info] = fsolve (@@f, [1; 2]) @end example @noindent *************** *** 134,139 **** --- 152,162 ---- 0.57983 2.54621 + fval = + + -5.7184e-10 + 5.5460e-10 + info = 1 @end example *************** *** 184,190 **** Using this Jacobian is done with the following code @example ! [x, info] = fsolve (@{@@f, @@jacobian@}, [1; 2]); @end example @noindent --- 207,213 ---- Using this Jacobian is done with the following code @example ! [x, fval, info] = fsolve (@{@@f, @@jacobian@}, [1; 2]); @end example @noindent diff -cNr octave-3.0.0/doc/interpreter/nonlin.txi octave-3.0.1/doc/interpreter/nonlin.txi *** octave-3.0.0/doc/interpreter/nonlin.txi Fri Oct 12 20:52:12 2007 --- octave-3.0.1/doc/interpreter/nonlin.txi Mon Apr 21 12:00:19 2008 *************** *** 1,4 **** ! @c Copyright (C) 1996, 1997, 2007 John W. Eaton @c @c This file is part of Octave. @c --- 1,4 ---- ! @c Copyright (C) 1996, 1997, 2007, 2008 John W. Eaton @c @c This file is part of Octave. @c *************** *** 79,85 **** @code{f} defined above, @example ! [x, info] = fsolve (@@f, [1; 2]) @end example @noindent --- 79,85 ---- @code{f} defined above, @example ! [x, fval, info] = fsolve (@@f, [1; 2]) @end example @noindent *************** *** 91,96 **** --- 91,101 ---- 0.57983 2.54621 + fval = + + -5.7184e-10 + 5.5460e-10 + info = 1 @end example *************** *** 141,147 **** Using this Jacobian is done with the following code @example ! [x, info] = fsolve (@{@@f, @@jacobian@}, [1; 2]); @end example @noindent --- 146,152 ---- Using this Jacobian is done with the following code @example ! [x, fval, info] = fsolve (@{@@f, @@jacobian@}, [1; 2]); @end example @noindent Binary files octave-3.0.0/doc/interpreter/octave-a4.pdf and octave-3.0.1/doc/interpreter/octave-a4.pdf differ diff -cNr octave-3.0.0/doc/interpreter/octave-bug.1 octave-3.0.1/doc/interpreter/octave-bug.1 *** octave-3.0.0/doc/interpreter/octave-bug.1 Fri Oct 12 20:52:13 2007 --- octave-3.0.1/doc/interpreter/octave-bug.1 Mon Apr 21 12:00:19 2008 *************** *** 1,4 **** ! .\" Copyright (C) 2000, 2004, 2005, 2007 Dirk Eddelbuettel .\" .\" This file is part of Octave. .\" --- 1,4 ---- ! .\" Copyright (C) 2000, 2004, 2005, 2007, 2008 Dirk Eddelbuettel .\" .\" This file is part of Octave. .\" *************** *** 19,25 **** .\" This page was contributed by Dirk Eddelbuettel .\" .TH octave-bug 1 "6 March 2000" GNU - .LO 1 .SH NAME octave-bug \- report a bug in GNU Octave .SH SYNOPSIS --- 19,24 ---- diff -cNr octave-3.0.0/doc/interpreter/octave.1 octave-3.0.1/doc/interpreter/octave.1 *** octave-3.0.0/doc/interpreter/octave.1 Fri Oct 12 20:52:13 2007 --- octave-3.0.1/doc/interpreter/octave.1 Mon Apr 21 12:00:19 2008 *************** *** 1,4 **** ! .\" Copyright (C) 1996, 1997, 2004, 2005, 2007 John W. Eaton .\" .\" This file is part of Octave. .\" --- 1,4 ---- ! .\" Copyright (C) 1996, 1997, 2004, 2005, 2007, 2008 John W. Eaton .\" .\" This file is part of Octave. .\" *************** *** 17,23 **** .\" . .\" .TH Octave 1 "Jan 8 1996" - .LO 1 .SH NAME octave \- A high-level interactive language for numerical computations. .SH SYNOPSIS --- 17,22 ---- *************** *** 29,35 **** running the command .nf ! octave --help .fi .SH DESCRIPTION --- 28,34 ---- running the command .nf ! octave \-\-help .fi .SH DESCRIPTION *************** *** 45,51 **** the command .nf ! octave:13> help -i .fi while running Octave interactively, by using the GNU Emacs info mode, --- 44,50 ---- the command .nf ! octave:13> help \-i .fi while running Octave interactively, by using the GNU Emacs info mode, Binary files octave-3.0.0/doc/interpreter/octave.pdf and octave-3.0.1/doc/interpreter/octave.pdf differ diff -cNr octave-3.0.0/doc/interpreter/plot.eps octave-3.0.1/doc/interpreter/plot.eps *** octave-3.0.0/doc/interpreter/plot.eps Thu Dec 20 16:13:17 2007 --- octave-3.0.1/doc/interpreter/plot.eps Mon Apr 21 12:57:12 2008 *************** *** 1,7 **** %!PS-Adobe-2.0 EPSF-2.0 %%Title: plot.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Thu Dec 20 16:13:17 2007 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments --- 1,7 ---- %!PS-Adobe-2.0 EPSF-2.0 %%Title: plot.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Mon Apr 21 12:57:12 2008 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments *************** *** 48,54 **** /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Thu Dec 20 16:13:17 2007) /DOCINFO pdfmark end } ifelse --- 48,54 ---- /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Mon Apr 21 12:57:12 2008) /DOCINFO pdfmark end } ifelse *************** *** 530,536 **** }{ /g {stroke pm3dround pm3dGamma exp setgray} bind def } ifelse ! 1.000 UL LTb 574 280 M 63 0 V --- 530,536 ---- }{ /g {stroke pm3dround pm3dGamma exp setgray} bind def } ifelse ! 0.500 UL LTb 574 280 M 63 0 V *************** *** 540,546 **** 0.00 0.00 0.00 C 490 280 M [ [(Helvetica) 140.0 0.0 true true 0 (-1)] ] -46.7 MRshow ! 1.000 UL LTb 574 1428 M 63 0 V --- 540,546 ---- 0.00 0.00 0.00 C 490 280 M [ [(Helvetica) 140.0 0.0 true true 0 (-1)] ] -46.7 MRshow ! 0.500 UL LTb 574 1428 M 63 0 V *************** *** 550,556 **** 0.00 0.00 0.00 C 490 1428 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.5)] ] -46.7 MRshow ! 1.000 UL LTb 574 2576 M 63 0 V --- 550,556 ---- 0.00 0.00 0.00 C 490 1428 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.5)] ] -46.7 MRshow ! 0.500 UL LTb 574 2576 M 63 0 V *************** *** 560,566 **** 0.00 0.00 0.00 C 490 2576 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 1.000 UL LTb 574 3724 M 63 0 V --- 560,566 ---- 0.00 0.00 0.00 C 490 2576 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 0.500 UL LTb 574 3724 M 63 0 V *************** *** 570,576 **** 0.00 0.00 0.00 C 490 3724 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MRshow ! 1.000 UL LTb 574 4872 M 63 0 V --- 570,576 ---- 0.00 0.00 0.00 C 490 3724 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MRshow ! 0.500 UL LTb 574 4872 M 63 0 V *************** *** 580,586 **** 0.00 0.00 0.00 C 490 4872 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MRshow ! 1.000 UL LTb 574 280 M 0 63 V --- 580,586 ---- 0.00 0.00 0.00 C 490 4872 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MRshow ! 0.500 UL LTb 574 280 M 0 63 V *************** *** 590,596 **** 0.00 0.00 0.00 C 574 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-10)] ] -46.7 MCshow ! 1.000 UL LTb 2171 280 M 0 63 V --- 590,596 ---- 0.00 0.00 0.00 C 574 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-10)] ] -46.7 MCshow ! 0.500 UL LTb 2171 280 M 0 63 V *************** *** 600,606 **** 0.00 0.00 0.00 C 2171 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-5)] ] -46.7 MCshow ! 1.000 UL LTb 3768 280 M 0 63 V --- 600,606 ---- 0.00 0.00 0.00 C 2171 140 M [ [(Helvetica) 140.0 0.0 true true 0 (-5)] ] -46.7 MCshow ! 0.500 UL LTb 3768 280 M 0 63 V *************** *** 610,616 **** 0.00 0.00 0.00 C 3768 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 1.000 UL LTb 5365 280 M 0 63 V --- 610,616 ---- 0.00 0.00 0.00 C 3768 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 0.500 UL LTb 5365 280 M 0 63 V *************** *** 620,626 **** 0.00 0.00 0.00 C 5365 140 M [ [(Helvetica) 140.0 0.0 true true 0 (5)] ] -46.7 MCshow ! 1.000 UL LTb 6962 280 M 0 63 V --- 620,626 ---- 0.00 0.00 0.00 C 5365 140 M [ [(Helvetica) 140.0 0.0 true true 0 (5)] ] -46.7 MCshow ! 0.500 UL LTb 6962 280 M 0 63 V *************** *** 630,638 **** 0.00 0.00 0.00 C 6962 140 M [ [(Helvetica) 140.0 0.0 true true 0 (10)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 574 4872 N 574 280 L --- 630,638 ---- 0.00 0.00 0.00 C 6962 140 M [ [(Helvetica) 140.0 0.0 true true 0 (10)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 574 4872 N 574 280 L *************** *** 641,647 **** -6388 0 V Z stroke 1.000 UP ! 1.000 UL LTb 0.500 UL LT0 --- 641,647 ---- -6388 0 V Z stroke 1.000 UP ! 0.500 UL LTb 0.500 UL LT0 *************** *** 847,853 **** 32 -210 V 32 -198 V stroke - 1.000 UL LTb 574 4872 N 574 280 L --- 847,852 ---- *************** *** 856,862 **** -6388 0 V Z stroke 1.000 UP ! 1.000 UL LTb stroke grestore --- 855,861 ---- -6388 0 V Z stroke 1.000 UP ! 0.500 UL LTb stroke grestore diff -cNr octave-3.0.0/doc/interpreter/plot.pdf octave-3.0.1/doc/interpreter/plot.pdf *** octave-3.0.0/doc/interpreter/plot.pdf Thu Dec 20 16:13:17 2007 --- octave-3.0.1/doc/interpreter/plot.pdf Mon Apr 21 12:57:12 2008 *************** *** 3,21 **** 5 0 obj <> stream ! xœWÁ’5 ¼ÏWÌ<,É–í+UTÎIöR‚b ~ŸVKó6„*ØÚÃJc[nËê–ߧ³ÝälñWÿ?<?¾›çÇ?qþuÈùÛÑÎ7‡®yJoçóa²nƒö‡õ%×çÞ÷ýûûƒÏwoÊøüñøtHÚõïÃóùÓ¶Zç<Ÿ~=rsD[7ÓN‘›ûÐóéùøîùþé÷ãç§ãíË”~Çva©Ï‰%¿å¿BÐ[·½Nß·v‡Ðnã+¢k½d$œ+%5P9É‘ÿDÛÍÛRð[÷A íkËõE8Š(9òŠtôÛœ-ö±ÛºP|#ÚÍï8èŽk qÔÈ볡]nZ8¾.Œ¬FZS°Ý_bK³u~»y·³³2­JóñB¤­Q4x¾;¤ÜÂr÷^ GÚˆB}Äóx/²V¿Àм „sIûõ0ªsôÿ¨R_zOÊå\·“îuA—÷ú;r¿Y{Dó˜“Ñ ! ³<Ö*íW£@­ß´­ò ê…ÉFúuûùùì„ÚÝÍ0ïjÚ–È ! `5ãK¼²½­t )õFQq¼#Çb›y ! [X¬c§³±Xz˜]°´YˆC7ûÜš éÝñ mW*ª…=cOÏY;°‡ÄúΰCcÜ*¹£Çzkœ5¨Cs„ð"Y°wci$`oAF sÍ ! ’°-;PFöÑ9+“â3#Ä>¾b½J¬™ Â1ñ”…¬çêicöíìƒsÝÏaÑ;&äÆ•úÁÔ]è*K#ËÚ¹™1ØÝ‘D ±jÍâW´pÏ‚K ³Q?Òwl¼Õãêv˜]£ùuLŠvÝÅž±N¶Æ ïE!m¢¥+JÒö¢Ç%*3Ç,â(êºæ2QjMé9#Ï})’­À"Ò§‹Ó“™4-³1G%¥´k®ôT6iô–dÔV+7#_ ! ¢¬fE‹ÌQ0žÎòzœdLÚ=`^#3x±+¦î ÆÎûkÁŒMd¦AŒkžá†d¬:ƒ  ³Å›ÃF~G°u­é °;m Ù-J·yîv9Ãι ]õиҘßÑ"丮mAÌCý’ ΤŒN†°È¡^¸ÝÄs,ß8+W2~”„3™þÉîaV™›l¸b¡“ùD¯¥ÃÄëš&“僛î…cA©Ö`ÚÉvbX¨Hd;?cs¨pmº6h`­ò²Q_P9–ÑÆ?èR~7¬÷^Ú#ž’ƒ…»!>àl~_iä/·õ´!&¨w><:+ ! tÓF• ë}ÒqÔY=PøÔ7O»ZF®’l]óõOêTéõÌNÏ“8lã&3IXŠÝ’8ÎçKOë……;ãͱE˜òÅ®Õ>:RLèQ¥0˜sÙ¢‘‹:±ECÏŒ[´LçJ£"Š× ‚. Ð AÍ°54;ç¡“`³‹2‘« ¯‚­~BQöÌŸ_@³|Ö$sKùÀõª§÷G>9ÿõQúöø#0!endstream endobj 6 0 obj ! 1477 endobj 4 0 obj <> stream ! xœWÁ’5 ¼¿¯˜#,É–í+UTÎIöR‚b ~ŸVKó6¤(ØÚÃJc[nËê–ߧ£r´ø«ÿžo?¾›ÇÇ?ozŽã¯›¿ÝÚñæ¦kÒÛñ|3Y û›õ%×çÞ÷ýûûcïÞ”ñùãíÓMÒ®žŸž°Ù:æñôë-·G´uêœvˆœîC§çÛw?È÷O¿ß~~º½½c™ÒïXÂ.,õ9±ä÷/°üWzvÛëð}¶;„vŽ¯@ˆ®õ’‘p®”Ô@å$Gþ?m§·¥àg÷A íkËõE8Š(9òŠtôsÎûع.ßȆvó;:…ãH5òúlh—S Ç×…‘ÕHk ! ¶ûãKli¶Îï¯@`§w;:+Óª4/DÚEƒç»S@Ê-,wïÕp¤(ÔG<÷"kõ Í J8´_c¡:G€ñ*õ¥÷¤\Îu;é^ty¯¿#÷ÓÚ#šÇœ<ˆV˜…ä±Vi¿jýÔ¶PÈ7¨ &é×íÇç_°j;t7ü«i["+€Õ ŒK,ñÊö¶Ò1¤ÔEyÄñRŒ‹mæ)la±ŽÎÆbéavÁÒf!Ý@ìck&¤wÇÿ%´]©¨öŒ=]®ÑžK†kÉ ª Ê34½•¿9SZ2Hò~T´dô¬G£FGrH½ü™llNo%‡J)U[²šµ¤Ê-@¢M!ñ‘+u¤:°œTqš[ÅY)33½hkÅMà€”ÕÌ6|jy}F-]žƒI}ä*@€RÔ™lÇc˜*Š4 ‚°ààÑ®£tTèZµ¢}ÌÐÉgå®o9Æ5i Jß…,º-RLo#ë×w¶ ½.q°O(o_…ìŠç¬*p„NýÜ!P·äù ‡závgϱ|ã¬\ElÈ|8øQÎdú'»‡Yen²ávŠ…Næ½–?®kšL–"\lºsŽ¥Zƒ Xh'Û‰a¡"‘íüŒÍ¡ÂµéÚ µÊËF}AåXFÿ KùÝ°Þ{ehxJî†ø€³ù}y¤‘¿@ZtÜÖÓ†˜ Þùðhè¬(ÐMU‚¬÷ICÆQgõ@áSß<íj¹J²etÍÔ?©Sq¤×3;=Oâ°›Ì$a (vKâ8ŸK`,=­îŒ7ÇaʸVûèHa0¡G•Â`Îe‹F.ê4Æ =3zlÑ2+Š(^7º€@ƒ5ÃÖÐ윇N‚ÍR,ÊD®F€¾ ! ¶ú ! EÙ3~ÍòYsÌY,å׫žÞ×ýy–¾½ý w:!Úendstream endobj 6 0 obj ! 1478 endobj 4 0 obj <> startxref ! 2233 %%EOF --- 57,76 ---- xref 0 11 0000000000 65535 f ! 0000001801 00000 n ! 0000002013 00000 n ! 0000001742 00000 n ! 0000001583 00000 n 0000000015 00000 n ! 0000001563 00000 n ! 0000001849 00000 n ! 0000001949 00000 n ! 0000001890 00000 n ! 0000001919 00000 n trailer << /Size 11 /Root 1 0 R /Info 2 0 R ! /ID [(“"\n”ÔÖ]üA > startxref ! 2234 %%EOF diff -cNr octave-3.0.0/doc/interpreter/plot.texi octave-3.0.1/doc/interpreter/plot.texi *** octave-3.0.0/doc/interpreter/plot.texi Fri Dec 21 16:28:42 2007 --- octave-3.0.1/doc/interpreter/plot.texi Mon Apr 21 12:58:26 2008 *************** *** 1,7 **** @c DO NOT EDIT! Generated automatically by munge-texi. @c Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, ! @c 2006, 2007 John W. Eaton @c @c This file is part of Octave. @c --- 1,7 ---- @c DO NOT EDIT! Generated automatically by munge-texi. @c Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, ! @c 2006, 2007, 2008 John W. Eaton @c @c This file is part of Octave. @c *************** *** 1528,1537 **** --- 1528,1544 ---- Metafont @item png Portable network graphics + @item jpg + @itemx jpeg + JPEG image + @item gif + GIF image @item pbm PBMplus @item svg Scalable vector graphics + @item pdf + Portable document format @end table Other devices are supported by "convert" from ImageMagick. Type *************** *** 2334,2411 **** \noalign{\hrule height 0.6pt} & Code && Sym && Code && Sym && Code && Sym &\cr \noalign{\hrule} ! & $\backslash$forall && $\forall$ && $\backslash$exists && $\exists$ && $\backslash$ni && $\ni$ &\cr ! & $\backslash$cong && $\cong$ && $\backslash$Delta && $\Delta$ && $\backslash$Phi && $\Phi$ &\cr ! & $\backslash$Gamma && $\Gamma$ && $\backslash$vartheta && $\vartheta$ && $\backslash$Lambda && $\Lambda$ &\cr ! & $\backslash$Pi && $\Pi$ && $\backslash$Theta && $\Theta$ && $\backslash$Sigma && $\Sigma$ &\cr ! & $\backslash$varsigma && $\varsigma$ && $\backslash$Omega && $\Omega$ && $\backslash$Xi && $\Xi$ &\cr ! & $\backslash$Psi && $\Psi$ && $\backslash$perp && $\perp$ && $\backslash$alpha && $\alpha$ &\cr ! & $\backslash$beta && $\beta$ && $\backslash$chi && $\chi$ && $\backslash$delta && $\delta$ &\cr ! & $\backslash$epsilon && $\epsilon$ && $\backslash$phi && $\phi$ && $\backslash$gamma && $\gamma$ &\cr ! & $\backslash$eta && $\eta$ && $\backslash$iota && $\iota$ && $\backslash$kappa && $\kappa$ &\cr ! & $\backslash$lambda && $\lambda$ && $\backslash$mu && $\mu$ && $\backslash$nu && $\nu$ &\cr ! & $\backslash$o && $\o$ && $\backslash$pi && $\pi$ && $\backslash$theta && $\theta$ &\cr ! & $\backslash$rho && $\rho$ && $\backslash$sigma && $\sigma$ && $\backslash$tau && $\tau$ &\cr ! & $\backslash$upsilon && $\upsilon$ && $\backslash$varpi && $\varpi$ && $\backslash$omega && $\omega$ &\cr ! & $\backslash$xi && $\xi$ && $\backslash$psi && $\psi$ && $\backslash$zeta && $\zeta$ &\cr ! & $\backslash$sim && $\sim$ && $\backslash$Upsilon && $\Upsilon$ && $\backslash$prime && $\prime$ &\cr ! & $\backslash$leq && $\leq$ && $\backslash$infty && $\infty$ && $\backslash$clubsuit && $\clubsuit$ &\cr ! & $\backslash$diamondsuit && $\diamondsuit$ && $\backslash$heartsuit && $\heartsuit$ && $\backslash$spadesuit && $\spadesuit$ &\cr ! & $\backslash$leftrightarrow && $\leftrightarrow$ && $\backslash$leftarrow && $\leftarrow$ && $\backslash$uparrow && $\uparrow$ &\cr ! & $\backslash$rightarrow && $\rightarrow$ && $\backslash$downarrow && $\downarrow$ && $\backslash$circ && $\circ$ &\cr ! & $\backslash$pm && $\pm$ && $\backslash$geq && $\geq$ && $\backslash$times && $\times$ &\cr ! & $\backslash$propto && $\propto$ && $\backslash$partial && $\partial$ && $\backslash$bullet && $\bullet$ &\cr ! & $\backslash$div && $\div$ && $\backslash$neq && $\neq$ && $\backslash$equiv && $\equiv$ &\cr ! & $\backslash$approx && $\approx$ && $\backslash$ldots && $\ldots$ && $\backslash$mid && $\mid$ &\cr ! & $\backslash$aleph && $\aleph$ && $\backslash$Im && $\Im$ && $\backslash$Re && $\Re$ &\cr ! & $\backslash$wp && $\wp$ && $\backslash$otimes && $\otimes$ && $\backslash$oplus && $\oplus$ &\cr ! & $\backslash$oslash && $\oslash$ && $\backslash$cap && $\cap$ && $\backslash$cup && $\cup$ &\cr ! & $\backslash$supset && $\supset$ && $\backslash$supseteq && $\supseteq$ && $\backslash$subset && $\subset$ &\cr ! & $\backslash$subseteq && $\subseteq$ && $\backslash$in && $\in$ && $\backslash$langle && $\langle$ &\cr ! & $\backslash$rangle && $\rangle$ && $\backslash$nabla && $\nabla$ && $\backslash$surd && $\surd$ &\cr ! & $\backslash$cdot && $\cdot$ && $\backslash$neg && $\neg$ && $\backslash$wedge && $\wedge$ &\cr ! & $\backslash$vee && $\vee$ && $\backslash$copyright && $\copyright$ && $\backslash$rfloor && $\rfloor$ &\cr ! & $\backslash$lceil && $\lceil$ && $\backslash$lfloor && $\lfloor$ && $\backslash$rceil && $\rceil$ &\cr ! & $\backslash$int && $\int$ && && && && &\cr \noalign{\hrule height 0.6pt} }}\hfill}} @end tex @end iftex @ifnottex @multitable @columnfractions .125 .25 .25 .25 .125 ! @item @tab \forall @tab \exists @tab \ni @tab ! @item @tab \cong @tab \Delta @tab \Phi @tab ! @item @tab \Gamma @tab \vartheta @tab \Lambda @tab ! @item @tab \Pi @tab \Theta @tab \Sigma @tab ! @item @tab \varsigma @tab \Omega @tab \Xi @tab ! @item @tab \Psi @tab \perp @tab \alpha @tab ! @item @tab \beta @tab \chi @tab \delta @tab ! @item @tab \epsilon @tab \phi @tab \gamma @tab ! @item @tab \eta @tab \iota @tab \kappa @tab ! @item @tab \lambda @tab \mu @tab \nu @tab ! @item @tab \o @tab \pi @tab \theta @tab ! @item @tab \rho @tab \sigma @tab \tau @tab ! @item @tab \upsilon @tab \varpi @tab \omega @tab ! @item @tab \xi @tab \psi @tab \zeta @tab ! @item @tab \sim @tab \Upsilon @tab \prime @tab ! @item @tab \leq @tab \infty @tab \clubsuit @tab ! @item @tab \diamondsuit @tab \heartsuit @tab \spadesuit @tab ! @item @tab \leftrightarrow @tab \leftarrow @tab \uparrow @tab ! @item @tab \rightarrow @tab \downarrow @tab \circ @tab ! @item @tab \pm @tab \geq @tab \times @tab ! @item @tab \propto @tab \partial @tab \bullet @tab ! @item @tab \div @tab \neq @tab \equiv @tab ! @item @tab \approx @tab \ldots @tab \mid @tab ! @item @tab \aleph @tab \Im @tab \Re @tab ! @item @tab \wp @tab \otimes @tab \oplus @tab ! @item @tab \oslash @tab \cap @tab \cup @tab ! @item @tab \supset @tab \supseteq @tab \subset @tab ! @item @tab \subseteq @tab \in @tab \langle @tab ! @item @tab \rangle @tab \nabla @tab \surd @tab ! @item @tab \cdot @tab \neg @tab \wedge @tab ! @item @tab \vee @tab \copyright @tab \rfloor @tab ! @item @tab \lceil @tab \lfloor @tab \rceil @tab ! @item @tab \int @tab @tab @tab @end multitable @end ifnottex @caption{Available special characters in @sc{TeX} mode} --- 2341,2496 ---- \noalign{\hrule height 0.6pt} & Code && Sym && Code && Sym && Code && Sym &\cr \noalign{\hrule} ! & $\backslash$forall && $\forall$ ! && $\backslash$exists && $\exists$ ! && $\backslash$ni && $\ni$ &\cr ! & $\backslash$cong && $\cong$ ! && $\backslash$Delta && $\Delta$ ! && $\backslash$Phi && $\Phi$ &\cr ! & $\backslash$Gamma && $\Gamma$ ! && $\backslash$vartheta && $\vartheta$ ! && $\backslash$Lambda && $\Lambda$ &\cr ! & $\backslash$Pi && $\Pi$ ! && $\backslash$Theta && $\Theta$ ! && $\backslash$Sigma && $\Sigma$ &\cr ! & $\backslash$varsigma && $\varsigma$ ! && $\backslash$Omega && $\Omega$ ! && $\backslash$Xi && $\Xi$ &\cr ! & $\backslash$Psi && $\Psi$ ! && $\backslash$perp && $\perp$ ! && $\backslash$alpha && $\alpha$ &\cr ! & $\backslash$beta && $\beta$ ! && $\backslash$chi && $\chi$ ! && $\backslash$delta && $\delta$ &\cr ! & $\backslash$epsilon && $\epsilon$ ! && $\backslash$phi && $\phi$ ! && $\backslash$gamma && $\gamma$ &\cr ! & $\backslash$eta && $\eta$ ! && $\backslash$iota && $\iota$ ! && $\backslash$varphi && $\varphi$ &\cr ! & $\backslash$kappa && $\kappa$ ! && $\backslash$lambda && $\lambda$ ! && $\backslash$mu && $\mu$ &\cr ! & $\backslash$nu && $\nu$ ! && $\backslash$o && $\o$ ! && $\backslash$pi && $\pi$ &\cr ! & $\backslash$theta && $\theta$ ! && $\backslash$rho && $\rho$ ! && $\backslash$sigma && $\sigma$ &\cr ! & $\backslash$tau && $\tau$ ! && $\backslash$upsilon && $\upsilon$ ! && $\backslash$varpi && $\varpi$ &\cr ! & $\backslash$omega && $\omega$ ! && $\backslash$xi && $\xi$ ! && $\backslash$psi && $\psi$ &\cr ! & $\backslash$zeta && $\zeta$ ! && $\backslash$sim && $\sim$ ! && $\backslash$Upsilon && $\Upsilon$ &\cr ! & $\backslash$prime && $\prime$ ! && $\backslash$leq && $\leq$ ! && $\backslash$infty && $\infty$ &\cr ! & $\backslash$clubsuit && $\clubsuit$ ! && $\backslash$diamondsuit && $\diamondsuit$ ! && $\backslash$heartsuit && $\heartsuit$ &\cr ! & $\backslash$spadesuit && $\spadesuit$ ! && $\backslash$leftrightarrow && $\leftrightarrow$ ! && $\backslash$leftarrow && $\leftarrow$ &\cr ! & $\backslash$uparrow && $\uparrow$ ! && $\backslash$rightarrow && $\rightarrow$ ! && $\backslash$downarrow && $\downarrow$ &\cr ! & $\backslash$circ && $\circ$ ! && $\backslash$pm && $\pm$ ! && $\backslash$geq && $\geq$ &\cr ! & $\backslash$times && $\times$ ! && $\backslash$propto && $\propto$ ! && $\backslash$partial && $\partial$ &\cr ! & $\backslash$bullet && $\bullet$ ! && $\backslash$div && $\div$ ! && $\backslash$neq && $\neq$ &\cr ! & $\backslash$equiv && $\equiv$ ! && $\backslash$approx && $\approx$ ! && $\backslash$ldots && $\ldots$ &\cr ! & $\backslash$mid && $\mid$ ! && $\backslash$aleph && $\aleph$ ! && $\backslash$Im && $\Im$ &\cr ! & $\backslash$Re && $\Re$ ! && $\backslash$wp && $\wp$ ! && $\backslash$otimes && $\otimes$ &\cr ! & $\backslash$oplus && $\oplus$ ! && $\backslash$oslash && $\oslash$ ! && $\backslash$cap && $\cap$ &\cr ! & $\backslash$cup && $\cup$ ! && $\backslash$supset && $\supset$ ! && $\backslash$supseteq && $\supseteq$ &\cr ! & $\backslash$subset && $\subset$ ! && $\backslash$subseteq && $\subseteq$ ! && $\backslash$in && $\in$ &\cr ! & $\backslash$notin && $\notin$ ! && $\backslash$angle && $\angle$ ! && $\backslash$bigtriangledown && $\bigtriangledown$ &\cr ! & $\backslash$langle && $\langle$ ! && $\backslash$rangle && $\rangle$ ! && $\backslash$nabla && $\nabla$ &\cr ! & $\backslash$prod && $\prod$ ! && $\backslash$surd && $\surd$ ! && $\backslash$cdot && $\cdot$ &\cr ! & $\backslash$neg && $\neg$ ! && $\backslash$wedge && $\wedge$ ! && $\backslash$vee && $\vee$ &\cr ! & $\backslash$Leftrightarrow && $\Leftrightarrow$ ! && $\backslash$Leftarrow && $\Leftarrow$ ! && $\backslash$Uparrow && $\Uparrow$ &\cr ! & $\backslash$Rightarrow && $\Rightarrow$ ! && $\backslash$Downarrow && $\Downarrow$ ! && $\backslash$diamond && $\diamond$ &\cr ! & $\backslash$copyright && $\copyright$ ! && $\backslash$rfloor && $\rfloor$ ! && $\backslash$lceil && $\lceil$ &\cr ! & $\backslash$lfloor && $\lfloor$ ! && $\backslash$rceil && $\rceil$ ! && $\backslash$int && $\int$ &\cr \noalign{\hrule height 0.6pt} }}\hfill}} @end tex @end iftex @ifnottex @multitable @columnfractions .125 .25 .25 .25 .125 ! @item @tab \forall @tab \exists @tab \ni @tab ! @item @tab \cong @tab \Delta @tab \Phi @tab ! @item @tab \Gamma @tab \vartheta @tab \Lambda @tab ! @item @tab \Pi @tab \Theta @tab \Sigma @tab ! @item @tab \varsigma @tab \Omega @tab \Xi @tab ! @item @tab \Psi @tab \perp @tab \alpha @tab ! @item @tab \beta @tab \chi @tab \delta @tab ! @item @tab \epsilon @tab \phi @tab \gamma @tab ! @item @tab \eta @tab \iota @tab \varphi @tab ! @item @tab \kappa @tab \lambda @tab \mu @tab ! @item @tab \nu @tab \o @tab \pi @tab ! @item @tab \theta @tab \rho @tab \sigma @tab ! @item @tab \tau @tab \upsilon @tab \varpi @tab ! @item @tab \omega @tab \xi @tab \psi @tab ! @item @tab \zeta @tab \sim @tab \Upsilon @tab ! @item @tab \prime @tab \leq @tab \infty @tab ! @item @tab \clubsuit @tab \diamondsuit @tab \heartsuit @tab ! @item @tab \spadesuit @tab \leftrightarrow @tab \leftarrow @tab ! @item @tab \uparrow @tab \rightarrow @tab \downarrow @tab ! @item @tab \circ @tab \pm @tab \geq @tab ! @item @tab \times @tab \propto @tab \partial @tab ! @item @tab \bullet @tab \div @tab \neq @tab ! @item @tab \equiv @tab \approx @tab \ldots @tab ! @item @tab \mid @tab \aleph @tab \Im @tab ! @item @tab \Re @tab \wp @tab \otimes @tab ! @item @tab \oplus @tab \oslash @tab \cap @tab ! @item @tab \cup @tab \supset @tab \supseteq @tab ! @item @tab \subset @tab \subseteq @tab \in @tab ! @item @tab \notin @tab \angle @tab \bigrightriangledown @tab ! @item @tab \langle @tab \rangle @tab \nabla @tab ! @item @tab \prod @tab \surd @tab \cdot @tab ! @item @tab \neg @tab \wedge @tab \vee @tab ! @item @tab \Leftrightarrow @tab \Leftarrow @tab \Uparrow @tab ! @item @tab \Rightarrow @tab \Downarrow @tab \diamond @tab ! @item @tab \copyright @tab \lfloor @tab \lceil @tab ! @item @tab \rfloor @tab \rceil @tab \int @tab @end multitable @end ifnottex @caption{Available special characters in @sc{TeX} mode} diff -cNr octave-3.0.0/doc/interpreter/plot.txi octave-3.0.1/doc/interpreter/plot.txi *** octave-3.0.0/doc/interpreter/plot.txi Mon Nov 26 15:42:09 2007 --- octave-3.0.1/doc/interpreter/plot.txi Mon Apr 21 12:00:19 2008 *************** *** 1,5 **** @c Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, ! @c 2006, 2007 John W. Eaton @c @c This file is part of Octave. @c --- 1,5 ---- @c Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, ! @c 2006, 2007, 2008 John W. Eaton @c @c This file is part of Octave. @c *************** *** 893,970 **** \noalign{\hrule height 0.6pt} & Code && Sym && Code && Sym && Code && Sym &\cr \noalign{\hrule} ! & $\backslash$forall && $\forall$ && $\backslash$exists && $\exists$ && $\backslash$ni && $\ni$ &\cr ! & $\backslash$cong && $\cong$ && $\backslash$Delta && $\Delta$ && $\backslash$Phi && $\Phi$ &\cr ! & $\backslash$Gamma && $\Gamma$ && $\backslash$vartheta && $\vartheta$ && $\backslash$Lambda && $\Lambda$ &\cr ! & $\backslash$Pi && $\Pi$ && $\backslash$Theta && $\Theta$ && $\backslash$Sigma && $\Sigma$ &\cr ! & $\backslash$varsigma && $\varsigma$ && $\backslash$Omega && $\Omega$ && $\backslash$Xi && $\Xi$ &\cr ! & $\backslash$Psi && $\Psi$ && $\backslash$perp && $\perp$ && $\backslash$alpha && $\alpha$ &\cr ! & $\backslash$beta && $\beta$ && $\backslash$chi && $\chi$ && $\backslash$delta && $\delta$ &\cr ! & $\backslash$epsilon && $\epsilon$ && $\backslash$phi && $\phi$ && $\backslash$gamma && $\gamma$ &\cr ! & $\backslash$eta && $\eta$ && $\backslash$iota && $\iota$ && $\backslash$kappa && $\kappa$ &\cr ! & $\backslash$lambda && $\lambda$ && $\backslash$mu && $\mu$ && $\backslash$nu && $\nu$ &\cr ! & $\backslash$o && $\o$ && $\backslash$pi && $\pi$ && $\backslash$theta && $\theta$ &\cr ! & $\backslash$rho && $\rho$ && $\backslash$sigma && $\sigma$ && $\backslash$tau && $\tau$ &\cr ! & $\backslash$upsilon && $\upsilon$ && $\backslash$varpi && $\varpi$ && $\backslash$omega && $\omega$ &\cr ! & $\backslash$xi && $\xi$ && $\backslash$psi && $\psi$ && $\backslash$zeta && $\zeta$ &\cr ! & $\backslash$sim && $\sim$ && $\backslash$Upsilon && $\Upsilon$ && $\backslash$prime && $\prime$ &\cr ! & $\backslash$leq && $\leq$ && $\backslash$infty && $\infty$ && $\backslash$clubsuit && $\clubsuit$ &\cr ! & $\backslash$diamondsuit && $\diamondsuit$ && $\backslash$heartsuit && $\heartsuit$ && $\backslash$spadesuit && $\spadesuit$ &\cr ! & $\backslash$leftrightarrow && $\leftrightarrow$ && $\backslash$leftarrow && $\leftarrow$ && $\backslash$uparrow && $\uparrow$ &\cr ! & $\backslash$rightarrow && $\rightarrow$ && $\backslash$downarrow && $\downarrow$ && $\backslash$circ && $\circ$ &\cr ! & $\backslash$pm && $\pm$ && $\backslash$geq && $\geq$ && $\backslash$times && $\times$ &\cr ! & $\backslash$propto && $\propto$ && $\backslash$partial && $\partial$ && $\backslash$bullet && $\bullet$ &\cr ! & $\backslash$div && $\div$ && $\backslash$neq && $\neq$ && $\backslash$equiv && $\equiv$ &\cr ! & $\backslash$approx && $\approx$ && $\backslash$ldots && $\ldots$ && $\backslash$mid && $\mid$ &\cr ! & $\backslash$aleph && $\aleph$ && $\backslash$Im && $\Im$ && $\backslash$Re && $\Re$ &\cr ! & $\backslash$wp && $\wp$ && $\backslash$otimes && $\otimes$ && $\backslash$oplus && $\oplus$ &\cr ! & $\backslash$oslash && $\oslash$ && $\backslash$cap && $\cap$ && $\backslash$cup && $\cup$ &\cr ! & $\backslash$supset && $\supset$ && $\backslash$supseteq && $\supseteq$ && $\backslash$subset && $\subset$ &\cr ! & $\backslash$subseteq && $\subseteq$ && $\backslash$in && $\in$ && $\backslash$langle && $\langle$ &\cr ! & $\backslash$rangle && $\rangle$ && $\backslash$nabla && $\nabla$ && $\backslash$surd && $\surd$ &\cr ! & $\backslash$cdot && $\cdot$ && $\backslash$neg && $\neg$ && $\backslash$wedge && $\wedge$ &\cr ! & $\backslash$vee && $\vee$ && $\backslash$copyright && $\copyright$ && $\backslash$rfloor && $\rfloor$ &\cr ! & $\backslash$lceil && $\lceil$ && $\backslash$lfloor && $\lfloor$ && $\backslash$rceil && $\rceil$ &\cr ! & $\backslash$int && $\int$ && && && && &\cr \noalign{\hrule height 0.6pt} }}\hfill}} @end tex @end iftex @ifnottex @multitable @columnfractions .125 .25 .25 .25 .125 ! @item @tab \forall @tab \exists @tab \ni @tab ! @item @tab \cong @tab \Delta @tab \Phi @tab ! @item @tab \Gamma @tab \vartheta @tab \Lambda @tab ! @item @tab \Pi @tab \Theta @tab \Sigma @tab ! @item @tab \varsigma @tab \Omega @tab \Xi @tab ! @item @tab \Psi @tab \perp @tab \alpha @tab ! @item @tab \beta @tab \chi @tab \delta @tab ! @item @tab \epsilon @tab \phi @tab \gamma @tab ! @item @tab \eta @tab \iota @tab \kappa @tab ! @item @tab \lambda @tab \mu @tab \nu @tab ! @item @tab \o @tab \pi @tab \theta @tab ! @item @tab \rho @tab \sigma @tab \tau @tab ! @item @tab \upsilon @tab \varpi @tab \omega @tab ! @item @tab \xi @tab \psi @tab \zeta @tab ! @item @tab \sim @tab \Upsilon @tab \prime @tab ! @item @tab \leq @tab \infty @tab \clubsuit @tab ! @item @tab \diamondsuit @tab \heartsuit @tab \spadesuit @tab ! @item @tab \leftrightarrow @tab \leftarrow @tab \uparrow @tab ! @item @tab \rightarrow @tab \downarrow @tab \circ @tab ! @item @tab \pm @tab \geq @tab \times @tab ! @item @tab \propto @tab \partial @tab \bullet @tab ! @item @tab \div @tab \neq @tab \equiv @tab ! @item @tab \approx @tab \ldots @tab \mid @tab ! @item @tab \aleph @tab \Im @tab \Re @tab ! @item @tab \wp @tab \otimes @tab \oplus @tab ! @item @tab \oslash @tab \cap @tab \cup @tab ! @item @tab \supset @tab \supseteq @tab \subset @tab ! @item @tab \subseteq @tab \in @tab \langle @tab ! @item @tab \rangle @tab \nabla @tab \surd @tab ! @item @tab \cdot @tab \neg @tab \wedge @tab ! @item @tab \vee @tab \copyright @tab \rfloor @tab ! @item @tab \lceil @tab \lfloor @tab \rceil @tab ! @item @tab \int @tab @tab @tab @end multitable @end ifnottex @caption{Available special characters in @sc{TeX} mode} --- 893,1048 ---- \noalign{\hrule height 0.6pt} & Code && Sym && Code && Sym && Code && Sym &\cr \noalign{\hrule} ! & $\backslash$forall && $\forall$ ! && $\backslash$exists && $\exists$ ! && $\backslash$ni && $\ni$ &\cr ! & $\backslash$cong && $\cong$ ! && $\backslash$Delta && $\Delta$ ! && $\backslash$Phi && $\Phi$ &\cr ! & $\backslash$Gamma && $\Gamma$ ! && $\backslash$vartheta && $\vartheta$ ! && $\backslash$Lambda && $\Lambda$ &\cr ! & $\backslash$Pi && $\Pi$ ! && $\backslash$Theta && $\Theta$ ! && $\backslash$Sigma && $\Sigma$ &\cr ! & $\backslash$varsigma && $\varsigma$ ! && $\backslash$Omega && $\Omega$ ! && $\backslash$Xi && $\Xi$ &\cr ! & $\backslash$Psi && $\Psi$ ! && $\backslash$perp && $\perp$ ! && $\backslash$alpha && $\alpha$ &\cr ! & $\backslash$beta && $\beta$ ! && $\backslash$chi && $\chi$ ! && $\backslash$delta && $\delta$ &\cr ! & $\backslash$epsilon && $\epsilon$ ! && $\backslash$phi && $\phi$ ! && $\backslash$gamma && $\gamma$ &\cr ! & $\backslash$eta && $\eta$ ! && $\backslash$iota && $\iota$ ! && $\backslash$varphi && $\varphi$ &\cr ! & $\backslash$kappa && $\kappa$ ! && $\backslash$lambda && $\lambda$ ! && $\backslash$mu && $\mu$ &\cr ! & $\backslash$nu && $\nu$ ! && $\backslash$o && $\o$ ! && $\backslash$pi && $\pi$ &\cr ! & $\backslash$theta && $\theta$ ! && $\backslash$rho && $\rho$ ! && $\backslash$sigma && $\sigma$ &\cr ! & $\backslash$tau && $\tau$ ! && $\backslash$upsilon && $\upsilon$ ! && $\backslash$varpi && $\varpi$ &\cr ! & $\backslash$omega && $\omega$ ! && $\backslash$xi && $\xi$ ! && $\backslash$psi && $\psi$ &\cr ! & $\backslash$zeta && $\zeta$ ! && $\backslash$sim && $\sim$ ! && $\backslash$Upsilon && $\Upsilon$ &\cr ! & $\backslash$prime && $\prime$ ! && $\backslash$leq && $\leq$ ! && $\backslash$infty && $\infty$ &\cr ! & $\backslash$clubsuit && $\clubsuit$ ! && $\backslash$diamondsuit && $\diamondsuit$ ! && $\backslash$heartsuit && $\heartsuit$ &\cr ! & $\backslash$spadesuit && $\spadesuit$ ! && $\backslash$leftrightarrow && $\leftrightarrow$ ! && $\backslash$leftarrow && $\leftarrow$ &\cr ! & $\backslash$uparrow && $\uparrow$ ! && $\backslash$rightarrow && $\rightarrow$ ! && $\backslash$downarrow && $\downarrow$ &\cr ! & $\backslash$circ && $\circ$ ! && $\backslash$pm && $\pm$ ! && $\backslash$geq && $\geq$ &\cr ! & $\backslash$times && $\times$ ! && $\backslash$propto && $\propto$ ! && $\backslash$partial && $\partial$ &\cr ! & $\backslash$bullet && $\bullet$ ! && $\backslash$div && $\div$ ! && $\backslash$neq && $\neq$ &\cr ! & $\backslash$equiv && $\equiv$ ! && $\backslash$approx && $\approx$ ! && $\backslash$ldots && $\ldots$ &\cr ! & $\backslash$mid && $\mid$ ! && $\backslash$aleph && $\aleph$ ! && $\backslash$Im && $\Im$ &\cr ! & $\backslash$Re && $\Re$ ! && $\backslash$wp && $\wp$ ! && $\backslash$otimes && $\otimes$ &\cr ! & $\backslash$oplus && $\oplus$ ! && $\backslash$oslash && $\oslash$ ! && $\backslash$cap && $\cap$ &\cr ! & $\backslash$cup && $\cup$ ! && $\backslash$supset && $\supset$ ! && $\backslash$supseteq && $\supseteq$ &\cr ! & $\backslash$subset && $\subset$ ! && $\backslash$subseteq && $\subseteq$ ! && $\backslash$in && $\in$ &\cr ! & $\backslash$notin && $\notin$ ! && $\backslash$angle && $\angle$ ! && $\backslash$bigtriangledown && $\bigtriangledown$ &\cr ! & $\backslash$langle && $\langle$ ! && $\backslash$rangle && $\rangle$ ! && $\backslash$nabla && $\nabla$ &\cr ! & $\backslash$prod && $\prod$ ! && $\backslash$surd && $\surd$ ! && $\backslash$cdot && $\cdot$ &\cr ! & $\backslash$neg && $\neg$ ! && $\backslash$wedge && $\wedge$ ! && $\backslash$vee && $\vee$ &\cr ! & $\backslash$Leftrightarrow && $\Leftrightarrow$ ! && $\backslash$Leftarrow && $\Leftarrow$ ! && $\backslash$Uparrow && $\Uparrow$ &\cr ! & $\backslash$Rightarrow && $\Rightarrow$ ! && $\backslash$Downarrow && $\Downarrow$ ! && $\backslash$diamond && $\diamond$ &\cr ! & $\backslash$copyright && $\copyright$ ! && $\backslash$rfloor && $\rfloor$ ! && $\backslash$lceil && $\lceil$ &\cr ! & $\backslash$lfloor && $\lfloor$ ! && $\backslash$rceil && $\rceil$ ! && $\backslash$int && $\int$ &\cr \noalign{\hrule height 0.6pt} }}\hfill}} @end tex @end iftex @ifnottex @multitable @columnfractions .125 .25 .25 .25 .125 ! @item @tab \forall @tab \exists @tab \ni @tab ! @item @tab \cong @tab \Delta @tab \Phi @tab ! @item @tab \Gamma @tab \vartheta @tab \Lambda @tab ! @item @tab \Pi @tab \Theta @tab \Sigma @tab ! @item @tab \varsigma @tab \Omega @tab \Xi @tab ! @item @tab \Psi @tab \perp @tab \alpha @tab ! @item @tab \beta @tab \chi @tab \delta @tab ! @item @tab \epsilon @tab \phi @tab \gamma @tab ! @item @tab \eta @tab \iota @tab \varphi @tab ! @item @tab \kappa @tab \lambda @tab \mu @tab ! @item @tab \nu @tab \o @tab \pi @tab ! @item @tab \theta @tab \rho @tab \sigma @tab ! @item @tab \tau @tab \upsilon @tab \varpi @tab ! @item @tab \omega @tab \xi @tab \psi @tab ! @item @tab \zeta @tab \sim @tab \Upsilon @tab ! @item @tab \prime @tab \leq @tab \infty @tab ! @item @tab \clubsuit @tab \diamondsuit @tab \heartsuit @tab ! @item @tab \spadesuit @tab \leftrightarrow @tab \leftarrow @tab ! @item @tab \uparrow @tab \rightarrow @tab \downarrow @tab ! @item @tab \circ @tab \pm @tab \geq @tab ! @item @tab \times @tab \propto @tab \partial @tab ! @item @tab \bullet @tab \div @tab \neq @tab ! @item @tab \equiv @tab \approx @tab \ldots @tab ! @item @tab \mid @tab \aleph @tab \Im @tab ! @item @tab \Re @tab \wp @tab \otimes @tab ! @item @tab \oplus @tab \oslash @tab \cap @tab ! @item @tab \cup @tab \supset @tab \supseteq @tab ! @item @tab \subset @tab \subseteq @tab \in @tab ! @item @tab \notin @tab \angle @tab \bigrightriangledown @tab ! @item @tab \langle @tab \rangle @tab \nabla @tab ! @item @tab \prod @tab \surd @tab \cdot @tab ! @item @tab \neg @tab \wedge @tab \vee @tab ! @item @tab \Leftrightarrow @tab \Leftarrow @tab \Uparrow @tab ! @item @tab \Rightarrow @tab \Downarrow @tab \diamond @tab ! @item @tab \copyright @tab \lfloor @tab \lceil @tab ! @item @tab \rfloor @tab \rceil @tab \int @tab @end multitable @end ifnottex @caption{Available special characters in @sc{TeX} mode} diff -cNr octave-3.0.0/doc/interpreter/plot3.eps octave-3.0.1/doc/interpreter/plot3.eps *** octave-3.0.0/doc/interpreter/plot3.eps Thu Dec 20 16:13:23 2007 --- octave-3.0.1/doc/interpreter/plot3.eps Mon Apr 21 12:57:18 2008 *************** *** 1,7 **** %!PS-Adobe-2.0 EPSF-2.0 %%Title: plot3.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Thu Dec 20 16:13:23 2007 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments --- 1,7 ---- %!PS-Adobe-2.0 EPSF-2.0 %%Title: plot3.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Mon Apr 21 12:57:18 2008 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments *************** *** 48,54 **** /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Thu Dec 20 16:13:23 2007) /DOCINFO pdfmark end } ifelse --- 48,54 ---- /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Mon Apr 21 12:57:18 2008) /DOCINFO pdfmark end } ifelse *************** *** 456,462 **** 0 setgray newpath (Helvetica) findfont 140 scalefont setfont ! 1.000 UL LTb gsave % colour palette begin /maxcolors 64 def --- 456,462 ---- 0 setgray newpath (Helvetica) findfont 140 scalefont setfont ! 0.500 UL LTb gsave % colour palette begin /maxcolors 64 def *************** *** 1791,1797 **** -183 10 V stroke LT0 ! 0.00 0.00 1.00 C 1.000 UL LTb 6299 1365 M 3245 586 L --- 1791,1797 ---- -183 10 V stroke LT0 ! 0.00 0.00 1.00 C 0.500 UL LTb 6299 1365 M 3245 586 L *************** *** 1823,1831 **** 0.00 0.00 0.00 C 3322 531 M [ [(Helvetica) 140.0 0.0 true true 0 (-1)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 901 1601 M 58 -25 V --- 1823,1831 ---- 0.00 0.00 0.00 C 3322 531 M [ [(Helvetica) 140.0 0.0 true true 0 (-1)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 901 1601 M 58 -25 V *************** *** 1835,1843 **** 0.00 0.00 0.00 C 3643 613 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.8)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 1223 1683 M 58 -25 V --- 1835,1843 ---- 0.00 0.00 0.00 C 3643 613 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.8)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 1223 1683 M 58 -25 V *************** *** 1847,1855 **** 0.00 0.00 0.00 C 3964 695 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.6)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 1544 1765 M 58 -25 V --- 1847,1855 ---- 0.00 0.00 0.00 C 3964 695 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.6)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 1544 1765 M 58 -25 V *************** *** 1859,1867 **** 0.00 0.00 0.00 C 4286 777 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.4)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 1866 1847 M 58 -25 V --- 1859,1867 ---- 0.00 0.00 0.00 C 4286 777 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.4)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 1866 1847 M 58 -25 V *************** *** 1871,1879 **** 0.00 0.00 0.00 C 4607 859 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.2)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 2187 1929 M 58 -25 V --- 1871,1879 ---- 0.00 0.00 0.00 C 4607 859 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.2)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 2187 1929 M 58 -25 V *************** *** 1883,1891 **** 0.00 0.00 0.00 C 4929 940 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 2509 2011 M 58 -25 V --- 1883,1891 ---- 0.00 0.00 0.00 C 4929 940 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 2509 2011 M 58 -25 V *************** *** 1895,1903 **** 0.00 0.00 0.00 C 5250 1022 M [ [(Helvetica) 140.0 0.0 true true 0 (0.2)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 2831 2093 M 57 -25 V --- 1895,1903 ---- 0.00 0.00 0.00 C 5250 1022 M [ [(Helvetica) 140.0 0.0 true true 0 (0.2)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 2831 2093 M 57 -25 V *************** *** 1907,1915 **** 0.00 0.00 0.00 C 5572 1104 M [ [(Helvetica) 140.0 0.0 true true 0 (0.4)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 3152 2175 M 58 -25 V --- 1907,1915 ---- 0.00 0.00 0.00 C 5572 1104 M [ [(Helvetica) 140.0 0.0 true true 0 (0.4)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 3152 2175 M 58 -25 V *************** *** 1919,1927 **** 0.00 0.00 0.00 C 5893 1186 M [ [(Helvetica) 140.0 0.0 true true 0 (0.6)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 3474 2257 M 57 -25 V --- 1919,1927 ---- 0.00 0.00 0.00 C 5893 1186 M [ [(Helvetica) 140.0 0.0 true true 0 (0.6)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 3474 2257 M 57 -25 V *************** *** 1931,1939 **** 0.00 0.00 0.00 C 6215 1268 M [ [(Helvetica) 140.0 0.0 true true 0 (0.8)] ] -46.7 MLshow ! 1.000 UL LTb ! 1.000 UL LTb 3794 2339 M 58 -25 V --- 1931,1939 ---- 0.00 0.00 0.00 C 6215 1268 M [ [(Helvetica) 140.0 0.0 true true 0 (0.8)] ] -46.7 MLshow ! 0.500 UL LTb ! 0.500 UL LTb 3794 2339 M 58 -25 V *************** *** 1943,1951 **** 0.00 0.00 0.00 C 3179 558 M [ [(Helvetica) 140.0 0.0 true true 0 (-1)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 6299 1365 M -50 -13 V --- 1943,1951 ---- 0.00 0.00 0.00 C 3179 558 M [ [(Helvetica) 140.0 0.0 true true 0 (-1)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 6299 1365 M -50 -13 V *************** *** 1955,1963 **** 0.00 0.00 0.00 C 2593 812 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.5)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 5713 1618 M -50 -12 V --- 1955,1963 ---- 0.00 0.00 0.00 C 2593 812 M [ [(Helvetica) 140.0 0.0 true true 0 (-0.5)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 5713 1618 M -50 -12 V *************** *** 1967,1975 **** 0.00 0.00 0.00 C 2007 1065 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 5127 1872 M -50 -13 V --- 1967,1975 ---- 0.00 0.00 0.00 C 2007 1065 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 5127 1872 M -50 -13 V *************** *** 1979,1987 **** 0.00 0.00 0.00 C 1421 1319 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 4541 2126 M -50 -13 V --- 1979,1987 ---- 0.00 0.00 0.00 C 1421 1319 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 4541 2126 M -50 -13 V *************** *** 1991,1999 **** 0.00 0.00 0.00 C 835 1573 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 3955 2380 M -50 -13 V --- 1991,1999 ---- 0.00 0.00 0.00 C 835 1573 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 3955 2380 M -50 -13 V *************** *** 2003,2011 **** 0.00 0.00 0.00 C 775 1601 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 1.000 UL LTb ! 1.000 UL LTb 901 2044 M 63 0 V --- 2003,2011 ---- 0.00 0.00 0.00 C 775 1601 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 0.500 UL LTb ! 0.500 UL LTb 901 2044 M 63 0 V *************** *** 2013,2021 **** 0.00 0.00 0.00 C 775 2044 M [ [(Helvetica) 140.0 0.0 true true 0 (0.2)] ] -46.7 MRshow ! 1.000 UL LTb ! 1.000 UL LTb 901 2487 M 63 0 V --- 2013,2021 ---- 0.00 0.00 0.00 C 775 2044 M [ [(Helvetica) 140.0 0.0 true true 0 (0.2)] ] -46.7 MRshow ! 0.500 UL LTb ! 0.500 UL LTb 901 2487 M 63 0 V *************** *** 2023,2031 **** 0.00 0.00 0.00 C 775 2487 M [ [(Helvetica) 140.0 0.0 true true 0 (0.4)] ] -46.7 MRshow ! 1.000 UL LTb ! 1.000 UL LTb 901 2929 M 63 0 V --- 2023,2031 ---- 0.00 0.00 0.00 C 775 2487 M [ [(Helvetica) 140.0 0.0 true true 0 (0.4)] ] -46.7 MRshow ! 0.500 UL LTb ! 0.500 UL LTb 901 2929 M 63 0 V *************** *** 2033,2041 **** 0.00 0.00 0.00 C 775 2929 M [ [(Helvetica) 140.0 0.0 true true 0 (0.6)] ] -46.7 MRshow ! 1.000 UL LTb ! 1.000 UL LTb 901 3372 M 63 0 V --- 2033,2041 ---- 0.00 0.00 0.00 C 775 2929 M [ [(Helvetica) 140.0 0.0 true true 0 (0.6)] ] -46.7 MRshow ! 0.500 UL LTb ! 0.500 UL LTb 901 3372 M 63 0 V *************** *** 2043,2051 **** 0.00 0.00 0.00 C 775 3372 M [ [(Helvetica) 140.0 0.0 true true 0 (0.8)] ] -46.7 MRshow ! 1.000 UL LTb ! 1.000 UL LTb 901 3815 M 63 0 V --- 2043,2051 ---- 0.00 0.00 0.00 C 775 3372 M [ [(Helvetica) 140.0 0.0 true true 0 (0.8)] ] -46.7 MRshow ! 0.500 UL LTb ! 0.500 UL LTb 901 3815 M 63 0 V *************** *** 2053,2059 **** 0.00 0.00 0.00 C 775 3815 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MRshow ! 1.000 UL LTb 1.000 UP grestore % colour palette end --- 2053,2059 ---- 0.00 0.00 0.00 C 775 3815 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MRshow ! 0.500 UL LTb 1.000 UP grestore % colour palette end Binary files octave-3.0.0/doc/interpreter/plot3.pdf and octave-3.0.1/doc/interpreter/plot3.pdf differ diff -cNr octave-3.0.0/doc/interpreter/polar.eps octave-3.0.1/doc/interpreter/polar.eps *** octave-3.0.0/doc/interpreter/polar.eps Thu Dec 20 16:13:20 2007 --- octave-3.0.1/doc/interpreter/polar.eps Mon Apr 21 12:57:16 2008 *************** *** 1,7 **** %!PS-Adobe-2.0 EPSF-2.0 %%Title: polar.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Thu Dec 20 16:13:20 2007 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments --- 1,7 ---- %!PS-Adobe-2.0 EPSF-2.0 %%Title: polar.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Mon Apr 21 12:57:16 2008 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments *************** *** 48,54 **** /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Thu Dec 20 16:13:20 2007) /DOCINFO pdfmark end } ifelse --- 48,54 ---- /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Mon Apr 21 12:57:16 2008) /DOCINFO pdfmark end } ifelse *************** *** 530,536 **** }{ /g {stroke pm3dround pm3dGamma exp setgray} bind def } ifelse ! 1.000 UL LTb 3600 273 M -63 0 V --- 530,536 ---- }{ /g {stroke pm3dround pm3dGamma exp setgray} bind def } ifelse ! 0.500 UL LTb 3600 273 M -63 0 V *************** *** 540,546 **** 0.00 0.00 0.00 C 3516 273 M [ [(Helvetica) 140.0 0.0 true true 0 (-30)] ] -46.7 MRshow ! 1.000 UL LTb 3600 1022 M -63 0 V --- 540,546 ---- 0.00 0.00 0.00 C 3516 273 M [ [(Helvetica) 140.0 0.0 true true 0 (-30)] ] -46.7 MRshow ! 0.500 UL LTb 3600 1022 M -63 0 V *************** *** 550,556 **** 0.00 0.00 0.00 C 3516 1022 M [ [(Helvetica) 140.0 0.0 true true 0 (-20)] ] -46.7 MRshow ! 1.000 UL LTb 3600 1771 M -63 0 V --- 550,556 ---- 0.00 0.00 0.00 C 3516 1022 M [ [(Helvetica) 140.0 0.0 true true 0 (-20)] ] -46.7 MRshow ! 0.500 UL LTb 3600 1771 M -63 0 V *************** *** 560,566 **** 0.00 0.00 0.00 C 3516 1771 M [ [(Helvetica) 140.0 0.0 true true 0 (-10)] ] -46.7 MRshow ! 1.000 UL LTb 3600 2520 M -63 0 V --- 560,566 ---- 0.00 0.00 0.00 C 3516 1771 M [ [(Helvetica) 140.0 0.0 true true 0 (-10)] ] -46.7 MRshow ! 0.500 UL LTb 3600 2520 M -63 0 V *************** *** 570,576 **** 0.00 0.00 0.00 C 3516 2520 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 1.000 UL LTb 3600 3269 M -63 0 V --- 570,576 ---- 0.00 0.00 0.00 C 3516 2520 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 0.500 UL LTb 3600 3269 M -63 0 V *************** *** 580,586 **** 0.00 0.00 0.00 C 3516 3269 M [ [(Helvetica) 140.0 0.0 true true 0 (10)] ] -46.7 MRshow ! 1.000 UL LTb 3600 4018 M -63 0 V --- 580,586 ---- 0.00 0.00 0.00 C 3516 3269 M [ [(Helvetica) 140.0 0.0 true true 0 (10)] ] -46.7 MRshow ! 0.500 UL LTb 3600 4018 M -63 0 V *************** *** 590,596 **** 0.00 0.00 0.00 C 3516 4018 M [ [(Helvetica) 140.0 0.0 true true 0 (20)] ] -46.7 MRshow ! 1.000 UL LTb 3600 4767 M -63 0 V --- 590,596 ---- 0.00 0.00 0.00 C 3516 4018 M [ [(Helvetica) 140.0 0.0 true true 0 (20)] ] -46.7 MRshow ! 0.500 UL LTb 3600 4767 M -63 0 V *************** *** 600,606 **** 0.00 0.00 0.00 C 3516 4767 M [ [(Helvetica) 140.0 0.0 true true 0 (30)] ] -46.7 MRshow ! 1.000 UL LTb 1353 2520 M 0 -63 V --- 600,606 ---- 0.00 0.00 0.00 C 3516 4767 M [ [(Helvetica) 140.0 0.0 true true 0 (30)] ] -46.7 MRshow ! 0.500 UL LTb 1353 2520 M 0 -63 V *************** *** 610,616 **** 0.00 0.00 0.00 C 1353 2317 M [ [(Helvetica) 140.0 0.0 true true 0 (-30)] ] -46.7 MCshow ! 1.000 UL LTb 2102 2520 M 0 -63 V --- 610,616 ---- 0.00 0.00 0.00 C 1353 2317 M [ [(Helvetica) 140.0 0.0 true true 0 (-30)] ] -46.7 MCshow ! 0.500 UL LTb 2102 2520 M 0 -63 V *************** *** 620,626 **** 0.00 0.00 0.00 C 2102 2317 M [ [(Helvetica) 140.0 0.0 true true 0 (-20)] ] -46.7 MCshow ! 1.000 UL LTb 2851 2520 M 0 -63 V --- 620,626 ---- 0.00 0.00 0.00 C 2102 2317 M [ [(Helvetica) 140.0 0.0 true true 0 (-20)] ] -46.7 MCshow ! 0.500 UL LTb 2851 2520 M 0 -63 V *************** *** 630,636 **** 0.00 0.00 0.00 C 2851 2317 M [ [(Helvetica) 140.0 0.0 true true 0 (-10)] ] -46.7 MCshow ! 1.000 UL LTb 3600 2520 M 0 -63 V --- 630,636 ---- 0.00 0.00 0.00 C 2851 2317 M [ [(Helvetica) 140.0 0.0 true true 0 (-10)] ] -46.7 MCshow ! 0.500 UL LTb 3600 2520 M 0 -63 V *************** *** 640,646 **** 0.00 0.00 0.00 C 3600 2317 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 1.000 UL LTb 4349 2520 M 0 -63 V --- 640,646 ---- 0.00 0.00 0.00 C 3600 2317 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 0.500 UL LTb 4349 2520 M 0 -63 V *************** *** 650,656 **** 0.00 0.00 0.00 C 4349 2317 M [ [(Helvetica) 140.0 0.0 true true 0 (10)] ] -46.7 MCshow ! 1.000 UL LTb 5098 2520 M 0 -63 V --- 650,656 ---- 0.00 0.00 0.00 C 4349 2317 M [ [(Helvetica) 140.0 0.0 true true 0 (10)] ] -46.7 MCshow ! 0.500 UL LTb 5098 2520 M 0 -63 V *************** *** 660,666 **** 0.00 0.00 0.00 C 5098 2317 M [ [(Helvetica) 140.0 0.0 true true 0 (20)] ] -46.7 MCshow ! 1.000 UL LTb 5847 2520 M 0 -63 V --- 660,666 ---- 0.00 0.00 0.00 C 5098 2317 M [ [(Helvetica) 140.0 0.0 true true 0 (20)] ] -46.7 MCshow ! 0.500 UL LTb 5847 2520 M 0 -63 V *************** *** 670,676 **** 0.00 0.00 0.00 C 5847 2317 M [ [(Helvetica) 140.0 0.0 true true 0 (30)] ] -46.7 MCshow ! 1.000 UL LTb 1.000 UL LTa --- 670,676 ---- 0.00 0.00 0.00 C 5847 2317 M [ [(Helvetica) 140.0 0.0 true true 0 (30)] ] -46.7 MCshow ! 0.500 UL LTb 1.000 UL LTa *************** *** 679,684 **** --- 679,685 ---- 3600 168 M 0 4704 V stroke + 0.500 UL LTb 1248 4872 N 0 -4704 V *************** *** 687,693 **** -4704 0 V Z stroke 1.000 UP ! 1.000 UL LTb 0.500 UL LT0 --- 688,694 ---- -4704 0 V Z stroke 1.000 UP ! 0.500 UL LTb 0.500 UL LT0 *************** *** 1007,1013 **** 46 230 V 23 234 V stroke - 1.000 UL LTb 1248 4872 N 0 -4704 V --- 1008,1013 ---- *************** *** 1016,1022 **** -4704 0 V Z stroke 1.000 UP ! 1.000 UL LTb stroke grestore --- 1016,1022 ---- -4704 0 V Z stroke 1.000 UP ! 0.500 UL LTb stroke grestore Binary files octave-3.0.0/doc/interpreter/polar.pdf and octave-3.0.1/doc/interpreter/polar.pdf differ diff -cNr octave-3.0.0/doc/interpreter/poly.texi octave-3.0.1/doc/interpreter/poly.texi *** octave-3.0.0/doc/interpreter/poly.texi Fri Dec 21 16:28:42 2007 --- octave-3.0.1/doc/interpreter/poly.texi Mon Apr 21 12:58:26 2008 *************** *** 346,352 **** @deftypefnx {Function File} {[@var{b}, @var{a}] =} residue (@var{r}, @var{p}, @var{k}) @deftypefnx {Function File} {[@var{b}, @var{a}] =} residue (@var{r}, @var{p}, @var{k}, @var{e}) Compute the reconstituted quotient of polynomials, ! @var{b}(s)/@var{a}(s), from the partial fraction expansion represented by the residues, poles, and a direct polynomial specified by @var{r}, @var{p} and @var{k}, and the pole multiplicity @var{e}. --- 346,352 ---- @deftypefnx {Function File} {[@var{b}, @var{a}] =} residue (@var{r}, @var{p}, @var{k}) @deftypefnx {Function File} {[@var{b}, @var{a}] =} residue (@var{r}, @var{p}, @var{k}, @var{e}) Compute the reconstituted quotient of polynomials, ! @var{b}(s)/@var{a}(s), from the partial fraction expansion; represented by the residues, poles, and a direct polynomial specified by @var{r}, @var{p} and @var{k}, and the pole multiplicity @var{e}. diff -cNr octave-3.0.0/doc/interpreter/spchol.eps octave-3.0.1/doc/interpreter/spchol.eps *** octave-3.0.0/doc/interpreter/spchol.eps Thu Dec 20 16:12:58 2007 --- octave-3.0.1/doc/interpreter/spchol.eps Mon Apr 21 12:56:54 2008 *************** *** 1,7 **** %!PS-Adobe-2.0 EPSF-2.0 %%Title: spchol.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Thu Dec 20 16:12:58 2007 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments --- 1,7 ---- %!PS-Adobe-2.0 EPSF-2.0 %%Title: spchol.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Mon Apr 21 12:56:54 2008 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments *************** *** 48,54 **** /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Thu Dec 20 16:12:58 2007) /DOCINFO pdfmark end } ifelse --- 48,54 ---- /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Mon Apr 21 12:56:54 2008) /DOCINFO pdfmark end } ifelse *************** *** 530,536 **** }{ /g {stroke pm3dround pm3dGamma exp setgray} bind def } ifelse ! 1.000 UL LTb 490 4872 M 63 0 V --- 530,536 ---- }{ /g {stroke pm3dround pm3dGamma exp setgray} bind def } ifelse ! 0.500 UL LTb 490 4872 M 63 0 V *************** *** 540,546 **** 0.00 0.00 0.00 C 406 4872 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 1.000 UL LTb 490 3730 M 63 0 V --- 540,546 ---- 0.00 0.00 0.00 C 406 4872 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 0.500 UL LTb 490 3730 M 63 0 V *************** *** 550,556 **** 0.00 0.00 0.00 C 406 3730 M [ [(Helvetica) 140.0 0.0 true true 0 (50)] ] -46.7 MRshow ! 1.000 UL LTb 490 2587 M 63 0 V --- 550,556 ---- 0.00 0.00 0.00 C 406 3730 M [ [(Helvetica) 140.0 0.0 true true 0 (50)] ] -46.7 MRshow ! 0.500 UL LTb 490 2587 M 63 0 V *************** *** 560,566 **** 0.00 0.00 0.00 C 406 2587 M [ [(Helvetica) 140.0 0.0 true true 0 (100)] ] -46.7 MRshow ! 1.000 UL LTb 490 1445 M 63 0 V --- 560,566 ---- 0.00 0.00 0.00 C 406 2587 M [ [(Helvetica) 140.0 0.0 true true 0 (100)] ] -46.7 MRshow ! 0.500 UL LTb 490 1445 M 63 0 V *************** *** 570,576 **** 0.00 0.00 0.00 C 406 1445 M [ [(Helvetica) 140.0 0.0 true true 0 (150)] ] -46.7 MRshow ! 1.000 UL LTb 490 303 M 63 0 V --- 570,576 ---- 0.00 0.00 0.00 C 406 1445 M [ [(Helvetica) 140.0 0.0 true true 0 (150)] ] -46.7 MRshow ! 0.500 UL LTb 490 303 M 63 0 V *************** *** 580,586 **** 0.00 0.00 0.00 C 406 303 M [ [(Helvetica) 140.0 0.0 true true 0 (200)] ] -46.7 MRshow ! 1.000 UL LTb 490 280 M 0 63 V --- 580,586 ---- 0.00 0.00 0.00 C 406 303 M [ [(Helvetica) 140.0 0.0 true true 0 (200)] ] -46.7 MRshow ! 0.500 UL LTb 490 280 M 0 63 V *************** *** 590,596 **** 0.00 0.00 0.00 C 490 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 1.000 UL LTb 2100 280 M 0 63 V --- 590,596 ---- 0.00 0.00 0.00 C 490 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 0.500 UL LTb 2100 280 M 0 63 V *************** *** 600,606 **** 0.00 0.00 0.00 C 2100 140 M [ [(Helvetica) 140.0 0.0 true true 0 (50)] ] -46.7 MCshow ! 1.000 UL LTb 3710 280 M 0 63 V --- 600,606 ---- 0.00 0.00 0.00 C 2100 140 M [ [(Helvetica) 140.0 0.0 true true 0 (50)] ] -46.7 MCshow ! 0.500 UL LTb 3710 280 M 0 63 V *************** *** 610,616 **** 0.00 0.00 0.00 C 3710 140 M [ [(Helvetica) 140.0 0.0 true true 0 (100)] ] -46.7 MCshow ! 1.000 UL LTb 5320 280 M 0 63 V --- 610,616 ---- 0.00 0.00 0.00 C 3710 140 M [ [(Helvetica) 140.0 0.0 true true 0 (100)] ] -46.7 MCshow ! 0.500 UL LTb 5320 280 M 0 63 V *************** *** 620,626 **** 0.00 0.00 0.00 C 5320 140 M [ [(Helvetica) 140.0 0.0 true true 0 (150)] ] -46.7 MCshow ! 1.000 UL LTb 6930 280 M 0 63 V --- 620,626 ---- 0.00 0.00 0.00 C 5320 140 M [ [(Helvetica) 140.0 0.0 true true 0 (150)] ] -46.7 MCshow ! 0.500 UL LTb 6930 280 M 0 63 V *************** *** 630,638 **** 0.00 0.00 0.00 C 6930 140 M [ [(Helvetica) 140.0 0.0 true true 0 (200)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 490 4872 N 490 280 L --- 630,638 ---- 0.00 0.00 0.00 C 6930 140 M [ [(Helvetica) 140.0 0.0 true true 0 (200)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 490 4872 N 490 280 L *************** *** 641,647 **** -6472 0 V Z stroke 1.000 UP ! 1.000 UL LTb 1.000 UP 0.500 UL --- 641,647 ---- -6472 0 V Z stroke 1.000 UP ! 0.500 UL LTb 1.000 UP 0.500 UL *************** *** 10846,10852 **** 6930 349 Star 6930 326 Star 6930 303 Star ! 1.000 UL LTb 490 4872 N 490 280 L --- 10846,10852 ---- 6930 349 Star 6930 326 Star 6930 303 Star ! 0.500 UL LTb 490 4872 N 490 280 L *************** *** 10855,10861 **** -6472 0 V Z stroke 1.000 UP ! 1.000 UL LTb stroke grestore --- 10855,10861 ---- -6472 0 V Z stroke 1.000 UP ! 0.500 UL LTb stroke grestore Binary files octave-3.0.0/doc/interpreter/spchol.pdf and octave-3.0.1/doc/interpreter/spchol.pdf differ diff -cNr octave-3.0.0/doc/interpreter/spcholperm.eps octave-3.0.1/doc/interpreter/spcholperm.eps *** octave-3.0.0/doc/interpreter/spcholperm.eps Thu Dec 20 16:13:00 2007 --- octave-3.0.1/doc/interpreter/spcholperm.eps Mon Apr 21 12:56:56 2008 *************** *** 1,7 **** %!PS-Adobe-2.0 EPSF-2.0 %%Title: spcholperm.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Thu Dec 20 16:13:00 2007 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments --- 1,7 ---- %!PS-Adobe-2.0 EPSF-2.0 %%Title: spcholperm.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Mon Apr 21 12:56:56 2008 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments *************** *** 48,54 **** /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Thu Dec 20 16:13:00 2007) /DOCINFO pdfmark end } ifelse --- 48,54 ---- /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Mon Apr 21 12:56:56 2008) /DOCINFO pdfmark end } ifelse *************** *** 530,536 **** }{ /g {stroke pm3dround pm3dGamma exp setgray} bind def } ifelse ! 1.000 UL LTb 490 4872 M 63 0 V --- 530,536 ---- }{ /g {stroke pm3dround pm3dGamma exp setgray} bind def } ifelse ! 0.500 UL LTb 490 4872 M 63 0 V *************** *** 540,546 **** 0.00 0.00 0.00 C 406 4872 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 1.000 UL LTb 490 3730 M 63 0 V --- 540,546 ---- 0.00 0.00 0.00 C 406 4872 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 0.500 UL LTb 490 3730 M 63 0 V *************** *** 550,556 **** 0.00 0.00 0.00 C 406 3730 M [ [(Helvetica) 140.0 0.0 true true 0 (50)] ] -46.7 MRshow ! 1.000 UL LTb 490 2587 M 63 0 V --- 550,556 ---- 0.00 0.00 0.00 C 406 3730 M [ [(Helvetica) 140.0 0.0 true true 0 (50)] ] -46.7 MRshow ! 0.500 UL LTb 490 2587 M 63 0 V *************** *** 560,566 **** 0.00 0.00 0.00 C 406 2587 M [ [(Helvetica) 140.0 0.0 true true 0 (100)] ] -46.7 MRshow ! 1.000 UL LTb 490 1445 M 63 0 V --- 560,566 ---- 0.00 0.00 0.00 C 406 2587 M [ [(Helvetica) 140.0 0.0 true true 0 (100)] ] -46.7 MRshow ! 0.500 UL LTb 490 1445 M 63 0 V *************** *** 570,576 **** 0.00 0.00 0.00 C 406 1445 M [ [(Helvetica) 140.0 0.0 true true 0 (150)] ] -46.7 MRshow ! 1.000 UL LTb 490 303 M 63 0 V --- 570,576 ---- 0.00 0.00 0.00 C 406 1445 M [ [(Helvetica) 140.0 0.0 true true 0 (150)] ] -46.7 MRshow ! 0.500 UL LTb 490 303 M 63 0 V *************** *** 580,586 **** 0.00 0.00 0.00 C 406 303 M [ [(Helvetica) 140.0 0.0 true true 0 (200)] ] -46.7 MRshow ! 1.000 UL LTb 490 280 M 0 63 V --- 580,586 ---- 0.00 0.00 0.00 C 406 303 M [ [(Helvetica) 140.0 0.0 true true 0 (200)] ] -46.7 MRshow ! 0.500 UL LTb 490 280 M 0 63 V *************** *** 590,596 **** 0.00 0.00 0.00 C 490 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 1.000 UL LTb 2100 280 M 0 63 V --- 590,596 ---- 0.00 0.00 0.00 C 490 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 0.500 UL LTb 2100 280 M 0 63 V *************** *** 600,606 **** 0.00 0.00 0.00 C 2100 140 M [ [(Helvetica) 140.0 0.0 true true 0 (50)] ] -46.7 MCshow ! 1.000 UL LTb 3710 280 M 0 63 V --- 600,606 ---- 0.00 0.00 0.00 C 2100 140 M [ [(Helvetica) 140.0 0.0 true true 0 (50)] ] -46.7 MCshow ! 0.500 UL LTb 3710 280 M 0 63 V *************** *** 610,616 **** 0.00 0.00 0.00 C 3710 140 M [ [(Helvetica) 140.0 0.0 true true 0 (100)] ] -46.7 MCshow ! 1.000 UL LTb 5320 280 M 0 63 V --- 610,616 ---- 0.00 0.00 0.00 C 3710 140 M [ [(Helvetica) 140.0 0.0 true true 0 (100)] ] -46.7 MCshow ! 0.500 UL LTb 5320 280 M 0 63 V *************** *** 620,626 **** 0.00 0.00 0.00 C 5320 140 M [ [(Helvetica) 140.0 0.0 true true 0 (150)] ] -46.7 MCshow ! 1.000 UL LTb 6930 280 M 0 63 V --- 620,626 ---- 0.00 0.00 0.00 C 5320 140 M [ [(Helvetica) 140.0 0.0 true true 0 (150)] ] -46.7 MCshow ! 0.500 UL LTb 6930 280 M 0 63 V *************** *** 630,638 **** 0.00 0.00 0.00 C 6930 140 M [ [(Helvetica) 140.0 0.0 true true 0 (200)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 490 4872 N 490 280 L --- 630,638 ---- 0.00 0.00 0.00 C 6930 140 M [ [(Helvetica) 140.0 0.0 true true 0 (200)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 490 4872 N 490 280 L *************** *** 641,647 **** -6472 0 V Z stroke 1.000 UP ! 1.000 UL LTb 1.000 UP 0.500 UL --- 641,647 ---- -6472 0 V Z stroke 1.000 UP ! 0.500 UL LTb 1.000 UP 0.500 UL *************** *** 1045,1051 **** 6930 349 Star 6930 326 Star 6930 303 Star ! 1.000 UL LTb 490 4872 N 490 280 L --- 1045,1051 ---- 6930 349 Star 6930 326 Star 6930 303 Star ! 0.500 UL LTb 490 4872 N 490 280 L *************** *** 1054,1060 **** -6472 0 V Z stroke 1.000 UP ! 1.000 UL LTb stroke grestore --- 1054,1060 ---- -6472 0 V Z stroke 1.000 UP ! 0.500 UL LTb stroke grestore Binary files octave-3.0.0/doc/interpreter/spcholperm.pdf and octave-3.0.1/doc/interpreter/spcholperm.pdf differ diff -cNr octave-3.0.0/doc/interpreter/spmatrix.eps octave-3.0.1/doc/interpreter/spmatrix.eps *** octave-3.0.0/doc/interpreter/spmatrix.eps Thu Dec 20 16:12:57 2007 --- octave-3.0.1/doc/interpreter/spmatrix.eps Mon Apr 21 12:56:53 2008 *************** *** 1,7 **** %!PS-Adobe-2.0 EPSF-2.0 %%Title: spmatrix.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Thu Dec 20 16:12:57 2007 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments --- 1,7 ---- %!PS-Adobe-2.0 EPSF-2.0 %%Title: spmatrix.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Mon Apr 21 12:56:53 2008 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments *************** *** 48,54 **** /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Thu Dec 20 16:12:57 2007) /DOCINFO pdfmark end } ifelse --- 48,54 ---- /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Mon Apr 21 12:56:53 2008) /DOCINFO pdfmark end } ifelse *************** *** 530,536 **** }{ /g {stroke pm3dround pm3dGamma exp setgray} bind def } ifelse ! 1.000 UL LTb 490 4872 M 63 0 V --- 530,536 ---- }{ /g {stroke pm3dround pm3dGamma exp setgray} bind def } ifelse ! 0.500 UL LTb 490 4872 M 63 0 V *************** *** 540,546 **** 0.00 0.00 0.00 C 406 4872 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 1.000 UL LTb 490 3730 M 63 0 V --- 540,546 ---- 0.00 0.00 0.00 C 406 4872 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 0.500 UL LTb 490 3730 M 63 0 V *************** *** 550,556 **** 0.00 0.00 0.00 C 406 3730 M [ [(Helvetica) 140.0 0.0 true true 0 (50)] ] -46.7 MRshow ! 1.000 UL LTb 490 2587 M 63 0 V --- 550,556 ---- 0.00 0.00 0.00 C 406 3730 M [ [(Helvetica) 140.0 0.0 true true 0 (50)] ] -46.7 MRshow ! 0.500 UL LTb 490 2587 M 63 0 V *************** *** 560,566 **** 0.00 0.00 0.00 C 406 2587 M [ [(Helvetica) 140.0 0.0 true true 0 (100)] ] -46.7 MRshow ! 1.000 UL LTb 490 1445 M 63 0 V --- 560,566 ---- 0.00 0.00 0.00 C 406 2587 M [ [(Helvetica) 140.0 0.0 true true 0 (100)] ] -46.7 MRshow ! 0.500 UL LTb 490 1445 M 63 0 V *************** *** 570,576 **** 0.00 0.00 0.00 C 406 1445 M [ [(Helvetica) 140.0 0.0 true true 0 (150)] ] -46.7 MRshow ! 1.000 UL LTb 490 303 M 63 0 V --- 570,576 ---- 0.00 0.00 0.00 C 406 1445 M [ [(Helvetica) 140.0 0.0 true true 0 (150)] ] -46.7 MRshow ! 0.500 UL LTb 490 303 M 63 0 V *************** *** 580,586 **** 0.00 0.00 0.00 C 406 303 M [ [(Helvetica) 140.0 0.0 true true 0 (200)] ] -46.7 MRshow ! 1.000 UL LTb 490 280 M 0 63 V --- 580,586 ---- 0.00 0.00 0.00 C 406 303 M [ [(Helvetica) 140.0 0.0 true true 0 (200)] ] -46.7 MRshow ! 0.500 UL LTb 490 280 M 0 63 V *************** *** 590,596 **** 0.00 0.00 0.00 C 490 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 1.000 UL LTb 2100 280 M 0 63 V --- 590,596 ---- 0.00 0.00 0.00 C 490 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 0.500 UL LTb 2100 280 M 0 63 V *************** *** 600,606 **** 0.00 0.00 0.00 C 2100 140 M [ [(Helvetica) 140.0 0.0 true true 0 (50)] ] -46.7 MCshow ! 1.000 UL LTb 3710 280 M 0 63 V --- 600,606 ---- 0.00 0.00 0.00 C 2100 140 M [ [(Helvetica) 140.0 0.0 true true 0 (50)] ] -46.7 MCshow ! 0.500 UL LTb 3710 280 M 0 63 V *************** *** 610,616 **** 0.00 0.00 0.00 C 3710 140 M [ [(Helvetica) 140.0 0.0 true true 0 (100)] ] -46.7 MCshow ! 1.000 UL LTb 5320 280 M 0 63 V --- 610,616 ---- 0.00 0.00 0.00 C 3710 140 M [ [(Helvetica) 140.0 0.0 true true 0 (100)] ] -46.7 MCshow ! 0.500 UL LTb 5320 280 M 0 63 V *************** *** 620,626 **** 0.00 0.00 0.00 C 5320 140 M [ [(Helvetica) 140.0 0.0 true true 0 (150)] ] -46.7 MCshow ! 1.000 UL LTb 6930 280 M 0 63 V --- 620,626 ---- 0.00 0.00 0.00 C 5320 140 M [ [(Helvetica) 140.0 0.0 true true 0 (150)] ] -46.7 MCshow ! 0.500 UL LTb 6930 280 M 0 63 V *************** *** 630,638 **** 0.00 0.00 0.00 C 6930 140 M [ [(Helvetica) 140.0 0.0 true true 0 (200)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 490 4872 N 490 280 L --- 630,638 ---- 0.00 0.00 0.00 C 6930 140 M [ [(Helvetica) 140.0 0.0 true true 0 (200)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 490 4872 N 490 280 L *************** *** 641,647 **** -6472 0 V Z stroke 1.000 UP ! 1.000 UL LTb 1.000 UP 0.500 UL --- 641,647 ---- -6472 0 V Z stroke 1.000 UP ! 0.500 UL LTb 1.000 UP 0.500 UL *************** *** 1244,1250 **** 6898 326 Star 6930 2587 Star 6930 303 Star ! 1.000 UL LTb 490 4872 N 490 280 L --- 1244,1250 ---- 6898 326 Star 6930 2587 Star 6930 303 Star ! 0.500 UL LTb 490 4872 N 490 280 L *************** *** 1253,1259 **** -6472 0 V Z stroke 1.000 UP ! 1.000 UL LTb stroke grestore --- 1253,1259 ---- -6472 0 V Z stroke 1.000 UP ! 0.500 UL LTb stroke grestore Binary files octave-3.0.0/doc/interpreter/spmatrix.pdf and octave-3.0.1/doc/interpreter/spmatrix.pdf differ diff -cNr octave-3.0.0/doc/interpreter/stats.texi octave-3.0.1/doc/interpreter/stats.texi *** octave-3.0.0/doc/interpreter/stats.texi Fri Dec 21 16:28:43 2007 --- octave-3.0.1/doc/interpreter/stats.texi Mon Apr 21 12:58:27 2008 *************** *** 1067,1072 **** --- 1067,1084 ---- approximately chi-square with @var{df} = @var{k} - 1 degrees of freedom. + If the data contains ties (some value appears more than once) + @var{k} is divided by + + 1 - @var{sumTies} / ( @var{n}^3 - @var{n} ) + + where @var{sumTies} is the sum of @var{t}^2 - @var{t} over each group + of ties where @var{t} is the number of ties in the group and @var{n} + is the total number of values in the input data. For more info on + this adjustment see "Use of Ranks in One-Criterion Variance Analysis" + in Journal of the American Statistical Association, Vol. 47, + No. 260 (Dec 1952) by William H. Kruskal and W. Allen Wallis. + The p-value (1 minus the CDF of this distribution at @var{k}) is returned in @var{pval}. *************** *** 1724,1730 **** @deftypefn {Function File} {} expcdf (@var{x}, @var{lambda}) For each element of @var{x}, compute the cumulative distribution function (CDF) at @var{x} of the exponential distribution with ! parameter @var{lambda}. The arguments can be of common size or scalar. @end deftypefn --- 1736,1742 ---- @deftypefn {Function File} {} expcdf (@var{x}, @var{lambda}) For each element of @var{x}, compute the cumulative distribution function (CDF) at @var{x} of the exponential distribution with ! mean @var{lambda}. The arguments can be of common size or scalar. @end deftypefn *************** *** 1733,1739 **** @anchor{doc-expinv} @deftypefn {Function File} {} expinv (@var{x}, @var{lambda}) For each element of @var{x}, compute the quantile (the inverse of the ! CDF) at @var{x} of the exponential distribution with parameter @var{lambda}. @end deftypefn --- 1745,1751 ---- @anchor{doc-expinv} @deftypefn {Function File} {} expinv (@var{x}, @var{lambda}) For each element of @var{x}, compute the quantile (the inverse of the ! CDF) at @var{x} of the exponential distribution with mean @var{lambda}. @end deftypefn *************** *** 1741,1747 **** @anchor{doc-exppdf} @deftypefn {Function File} {} exppdf (@var{x}, @var{lambda}) For each element of @var{x}, compute the probability density function ! (PDF) of the exponential distribution with parameter @var{lambda}. @end deftypefn --- 1753,1759 ---- @anchor{doc-exppdf} @deftypefn {Function File} {} exppdf (@var{x}, @var{lambda}) For each element of @var{x}, compute the probability density function ! (PDF) of the exponential distribution with mean @var{lambda}. @end deftypefn *************** *** 2326,2332 **** @deftypefn {Function File} {} exprnd (@var{lambda}, @var{r}, @var{c}) @deftypefnx {Function File} {} exprnd (@var{lambda}, @var{sz}) Return an @var{r} by @var{c} matrix of random samples from the ! exponential distribution with parameter @var{lambda}, which must be a scalar or of size @var{r} by @var{c}. Or if @var{sz} is a vector, create a matrix of size @var{sz}. --- 2338,2344 ---- @deftypefn {Function File} {} exprnd (@var{lambda}, @var{r}, @var{c}) @deftypefnx {Function File} {} exprnd (@var{lambda}, @var{sz}) Return an @var{r} by @var{c} matrix of random samples from the ! exponential distribution with mean @var{lambda}, which must be a scalar or of size @var{r} by @var{c}. Or if @var{sz} is a vector, create a matrix of size @var{sz}. diff -cNr octave-3.0.0/doc/interpreter/system.texi octave-3.0.1/doc/interpreter/system.texi *** octave-3.0.0/doc/interpreter/system.texi Fri Dec 21 16:28:43 2007 --- octave-3.0.1/doc/interpreter/system.texi Mon Apr 21 12:58:27 2008 *************** *** 1122,1128 **** @anchor{doc-tempdir} ! @deftypefn {Function File} {@var{dir} =} fullfile () Return the name of the system's directory for temporary files. @end deftypefn --- 1122,1128 ---- @anchor{doc-tempdir} ! @deftypefn {Function File} {@var{dir} =} tempdir () Return the name of the system's directory for temporary files. @end deftypefn diff -cNr octave-3.0.0/doc/interpreter/tips.texi octave-3.0.1/doc/interpreter/tips.texi *** octave-3.0.0/doc/interpreter/tips.texi Fri Dec 21 16:28:43 2007 --- octave-3.0.1/doc/interpreter/tips.texi Mon Apr 21 12:58:27 2008 *************** *** 1,6 **** @c DO NOT EDIT! Generated automatically by munge-texi. ! @c Copyright (C) 1996, 1997, 1999, 2002, 2004, 2005, 2007 John W. Eaton @c @c This file is part of Octave. @c --- 1,6 ---- @c DO NOT EDIT! Generated automatically by munge-texi. ! @c Copyright (C) 1996, 1997, 1999, 2002, 2004, 2005, 2007, 2008 John W. Eaton @c @c This file is part of Octave. @c *************** *** 152,158 **** aligns such a comment if it is already present. @item ## ! Comments that start with two semicolons, @samp{##}, should be aligned to the same level of indentation as the code. Such comments usually describe the purpose of the following lines or the state of the program at that point. --- 152,158 ---- aligns such a comment if it is already present. @item ## ! Comments that start with a double sharp-sign, @samp{##}, should be aligned to the same level of indentation as the code. Such comments usually describe the purpose of the following lines or the state of the program at that point. diff -cNr octave-3.0.0/doc/interpreter/tips.txi octave-3.0.1/doc/interpreter/tips.txi *** octave-3.0.0/doc/interpreter/tips.txi Tue Oct 30 21:08:15 2007 --- octave-3.0.1/doc/interpreter/tips.txi Mon Apr 21 12:00:19 2008 *************** *** 1,4 **** ! @c Copyright (C) 1996, 1997, 1999, 2002, 2004, 2005, 2007 John W. Eaton @c @c This file is part of Octave. @c --- 1,4 ---- ! @c Copyright (C) 1996, 1997, 1999, 2002, 2004, 2005, 2007, 2008 John W. Eaton @c @c This file is part of Octave. @c *************** *** 150,156 **** aligns such a comment if it is already present. @item ## ! Comments that start with two semicolons, @samp{##}, should be aligned to the same level of indentation as the code. Such comments usually describe the purpose of the following lines or the state of the program at that point. --- 150,156 ---- aligns such a comment if it is already present. @item ## ! Comments that start with a double sharp-sign, @samp{##}, should be aligned to the same level of indentation as the code. Such comments usually describe the purpose of the following lines or the state of the program at that point. diff -cNr octave-3.0.0/doc/interpreter/triplot.eps octave-3.0.1/doc/interpreter/triplot.eps *** octave-3.0.0/doc/interpreter/triplot.eps Thu Dec 20 16:13:09 2007 --- octave-3.0.1/doc/interpreter/triplot.eps Mon Apr 21 12:57:05 2008 *************** *** 1,7 **** %!PS-Adobe-2.0 EPSF-2.0 %%Title: triplot.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Thu Dec 20 16:13:09 2007 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments --- 1,7 ---- %!PS-Adobe-2.0 EPSF-2.0 %%Title: triplot.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Mon Apr 21 12:57:05 2008 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments *************** *** 48,54 **** /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Thu Dec 20 16:13:09 2007) /DOCINFO pdfmark end } ifelse --- 48,54 ---- /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Mon Apr 21 12:57:05 2008) /DOCINFO pdfmark end } ifelse *************** *** 530,536 **** }{ /g {stroke pm3dround pm3dGamma exp setgray} bind def } ifelse ! 1.000 UL LTb 490 655 M 63 0 V --- 530,536 ---- }{ /g {stroke pm3dround pm3dGamma exp setgray} bind def } ifelse ! 0.500 UL LTb 490 655 M 63 0 V *************** *** 540,546 **** 0.00 0.00 0.00 C 406 655 M [ [(Helvetica) 140.0 0.0 true true 0 (0.1)] ] -46.7 MRshow ! 1.000 UL LTb 490 1123 M 63 0 V --- 540,546 ---- 0.00 0.00 0.00 C 406 655 M [ [(Helvetica) 140.0 0.0 true true 0 (0.1)] ] -46.7 MRshow ! 0.500 UL LTb 490 1123 M 63 0 V *************** *** 550,556 **** 0.00 0.00 0.00 C 406 1123 M [ [(Helvetica) 140.0 0.0 true true 0 (0.2)] ] -46.7 MRshow ! 1.000 UL LTb 490 1592 M 63 0 V --- 550,556 ---- 0.00 0.00 0.00 C 406 1123 M [ [(Helvetica) 140.0 0.0 true true 0 (0.2)] ] -46.7 MRshow ! 0.500 UL LTb 490 1592 M 63 0 V *************** *** 560,566 **** 0.00 0.00 0.00 C 406 1592 M [ [(Helvetica) 140.0 0.0 true true 0 (0.3)] ] -46.7 MRshow ! 1.000 UL LTb 490 2061 M 63 0 V --- 560,566 ---- 0.00 0.00 0.00 C 406 1592 M [ [(Helvetica) 140.0 0.0 true true 0 (0.3)] ] -46.7 MRshow ! 0.500 UL LTb 490 2061 M 63 0 V *************** *** 570,576 **** 0.00 0.00 0.00 C 406 2061 M [ [(Helvetica) 140.0 0.0 true true 0 (0.4)] ] -46.7 MRshow ! 1.000 UL LTb 490 2529 M 63 0 V --- 570,576 ---- 0.00 0.00 0.00 C 406 2061 M [ [(Helvetica) 140.0 0.0 true true 0 (0.4)] ] -46.7 MRshow ! 0.500 UL LTb 490 2529 M 63 0 V *************** *** 580,586 **** 0.00 0.00 0.00 C 406 2529 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MRshow ! 1.000 UL LTb 490 2998 M 63 0 V --- 580,586 ---- 0.00 0.00 0.00 C 406 2529 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MRshow ! 0.500 UL LTb 490 2998 M 63 0 V *************** *** 590,596 **** 0.00 0.00 0.00 C 406 2998 M [ [(Helvetica) 140.0 0.0 true true 0 (0.6)] ] -46.7 MRshow ! 1.000 UL LTb 490 3466 M 63 0 V --- 590,596 ---- 0.00 0.00 0.00 C 406 2998 M [ [(Helvetica) 140.0 0.0 true true 0 (0.6)] ] -46.7 MRshow ! 0.500 UL LTb 490 3466 M 63 0 V *************** *** 600,606 **** 0.00 0.00 0.00 C 406 3466 M [ [(Helvetica) 140.0 0.0 true true 0 (0.7)] ] -46.7 MRshow ! 1.000 UL LTb 490 3935 M 63 0 V --- 600,606 ---- 0.00 0.00 0.00 C 406 3466 M [ [(Helvetica) 140.0 0.0 true true 0 (0.7)] ] -46.7 MRshow ! 0.500 UL LTb 490 3935 M 63 0 V *************** *** 610,616 **** 0.00 0.00 0.00 C 406 3935 M [ [(Helvetica) 140.0 0.0 true true 0 (0.8)] ] -46.7 MRshow ! 1.000 UL LTb 490 4403 M 63 0 V --- 610,616 ---- 0.00 0.00 0.00 C 406 3935 M [ [(Helvetica) 140.0 0.0 true true 0 (0.8)] ] -46.7 MRshow ! 0.500 UL LTb 490 4403 M 63 0 V *************** *** 620,626 **** 0.00 0.00 0.00 C 406 4403 M [ [(Helvetica) 140.0 0.0 true true 0 (0.9)] ] -46.7 MRshow ! 1.000 UL LTb 490 4872 M 63 0 V --- 620,626 ---- 0.00 0.00 0.00 C 406 4403 M [ [(Helvetica) 140.0 0.0 true true 0 (0.9)] ] -46.7 MRshow ! 0.500 UL LTb 490 4872 M 63 0 V *************** *** 630,636 **** 0.00 0.00 0.00 C 406 4872 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MRshow ! 1.000 UL LTb 831 280 M 0 63 V --- 630,636 ---- 0.00 0.00 0.00 C 406 4872 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MRshow ! 0.500 UL LTb 831 280 M 0 63 V *************** *** 640,646 **** 0.00 0.00 0.00 C 831 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.1)] ] -46.7 MCshow ! 1.000 UL LTb 1512 280 M 0 63 V --- 640,646 ---- 0.00 0.00 0.00 C 831 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.1)] ] -46.7 MCshow ! 0.500 UL LTb 1512 280 M 0 63 V *************** *** 650,656 **** 0.00 0.00 0.00 C 1512 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.2)] ] -46.7 MCshow ! 1.000 UL LTb 2193 280 M 0 63 V --- 650,656 ---- 0.00 0.00 0.00 C 1512 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.2)] ] -46.7 MCshow ! 0.500 UL LTb 2193 280 M 0 63 V *************** *** 660,666 **** 0.00 0.00 0.00 C 2193 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.3)] ] -46.7 MCshow ! 1.000 UL LTb 2874 280 M 0 63 V --- 660,666 ---- 0.00 0.00 0.00 C 2193 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.3)] ] -46.7 MCshow ! 0.500 UL LTb 2874 280 M 0 63 V *************** *** 670,676 **** 0.00 0.00 0.00 C 2874 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.4)] ] -46.7 MCshow ! 1.000 UL LTb 3556 280 M 0 63 V --- 670,676 ---- 0.00 0.00 0.00 C 2874 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.4)] ] -46.7 MCshow ! 0.500 UL LTb 3556 280 M 0 63 V *************** *** 680,686 **** 0.00 0.00 0.00 C 3556 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MCshow ! 1.000 UL LTb 4237 280 M 0 63 V --- 680,686 ---- 0.00 0.00 0.00 C 3556 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.5)] ] -46.7 MCshow ! 0.500 UL LTb 4237 280 M 0 63 V *************** *** 690,696 **** 0.00 0.00 0.00 C 4237 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.6)] ] -46.7 MCshow ! 1.000 UL LTb 4918 280 M 0 63 V --- 690,696 ---- 0.00 0.00 0.00 C 4237 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.6)] ] -46.7 MCshow ! 0.500 UL LTb 4918 280 M 0 63 V *************** *** 700,706 **** 0.00 0.00 0.00 C 4918 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.7)] ] -46.7 MCshow ! 1.000 UL LTb 5599 280 M 0 63 V --- 700,706 ---- 0.00 0.00 0.00 C 4918 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.7)] ] -46.7 MCshow ! 0.500 UL LTb 5599 280 M 0 63 V *************** *** 710,716 **** 0.00 0.00 0.00 C 5599 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.8)] ] -46.7 MCshow ! 1.000 UL LTb 6281 280 M 0 63 V --- 710,716 ---- 0.00 0.00 0.00 C 5599 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.8)] ] -46.7 MCshow ! 0.500 UL LTb 6281 280 M 0 63 V *************** *** 720,726 **** 0.00 0.00 0.00 C 6281 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.9)] ] -46.7 MCshow ! 1.000 UL LTb 6962 280 M 0 63 V --- 720,726 ---- 0.00 0.00 0.00 C 6281 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.9)] ] -46.7 MCshow ! 0.500 UL LTb 6962 280 M 0 63 V *************** *** 730,738 **** 0.00 0.00 0.00 C 6962 140 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 490 4872 N 490 280 L --- 730,738 ---- 0.00 0.00 0.00 C 6962 140 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 490 4872 N 490 280 L *************** *** 741,747 **** -6472 0 V Z stroke 1.000 UP ! 1.000 UL LTb 0.500 UL LT0 --- 741,747 ---- -6472 0 V Z stroke 1.000 UP ! 0.500 UL LTb 0.500 UL LT0 *************** *** 840,846 **** 1564 674 V 4109 1710 L stroke - 1.000 UL LTb 490 4872 N 490 280 L --- 840,845 ---- *************** *** 849,855 **** -6472 0 V Z stroke 1.000 UP ! 1.000 UL LTb stroke grestore --- 848,854 ---- -6472 0 V Z stroke 1.000 UP ! 0.500 UL LTb stroke grestore Binary files octave-3.0.0/doc/interpreter/triplot.pdf and octave-3.0.1/doc/interpreter/triplot.pdf differ diff -cNr octave-3.0.0/doc/interpreter/var.texi octave-3.0.1/doc/interpreter/var.texi *** octave-3.0.0/doc/interpreter/var.texi Fri Dec 21 16:28:43 2007 --- octave-3.0.1/doc/interpreter/var.texi Mon Apr 21 12:58:27 2008 *************** *** 450,457 **** @anchor{doc-exist} @deftypefn {Built-in Function} {} exist (@var{name}, @var{type}) ! Return 1 if the name exists as a variable, 2 if the name (after ! appending @samp{.m}) is a function file in Octave's @code{path}, 3 if the name is a @samp{.oct} or @samp{.mex} file in Octave's @code{path}, 5 if the name is a built-in function, 7 if the name is a directory, or 103 if the name is a function not associated with a file (entered on --- 450,458 ---- @anchor{doc-exist} @deftypefn {Built-in Function} {} exist (@var{name}, @var{type}) ! Return 1 if the name exists as a variable, 2 if the name is an ! absolute file name, an ordinary file in Octave's @code{path}, or (after ! appending @samp{.m}) a function file in Octave's @code{path}, 3 if the name is a @samp{.oct} or @samp{.mex} file in Octave's @code{path}, 5 if the name is a built-in function, 7 if the name is a directory, or 103 if the name is a function not associated with a file (entered on *************** *** 496,502 **** function allows this. @anchor{doc-clear} ! @deffn {Command} clear [-x] pattern @dots{} Delete the names matching the given patterns from the symbol table. The pattern may contain the following special characters: --- 497,503 ---- function allows this. @anchor{doc-clear} ! @deffn {Command} clear [options] pattern @dots{} Delete the names matching the given patterns from the symbol table. The pattern may contain the following special characters: *************** *** 534,540 **** @code{foo} as a function. Executing @kbd{clear foo} a second time will clear the function definition. ! With -x, clear the variables that don't match the patterns. @end deffn --- 535,558 ---- @code{foo} as a function. Executing @kbd{clear foo} a second time will clear the function definition. ! The following options are available in both long and short form ! @table @code ! @item -all, -a ! Clears all local and global user-defined variables and all functions ! from the symbol table. ! ! @item -exclusive, -x ! Clears the variables that don't match the following pattern. ! ! @item -functions, -f ! Clears the function names and the built-in symbols names. ! @item -global, -g ! Clears the global symbol names. ! @item -variables, -v ! Clears the local variable names. ! @end table ! With the execption of @code{exclusive}, all long options can be used ! without the dash as well. @end deffn diff -cNr octave-3.0.0/doc/interpreter/voronoi.eps octave-3.0.1/doc/interpreter/voronoi.eps *** octave-3.0.0/doc/interpreter/voronoi.eps Thu Dec 20 16:13:07 2007 --- octave-3.0.1/doc/interpreter/voronoi.eps Mon Apr 21 12:57:03 2008 *************** *** 1,7 **** %!PS-Adobe-2.0 EPSF-2.0 %%Title: voronoi.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Thu Dec 20 16:13:07 2007 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments --- 1,7 ---- %!PS-Adobe-2.0 EPSF-2.0 %%Title: voronoi.eps %%Creator: gnuplot 4.2 patchlevel 2 ! %%CreationDate: Mon Apr 21 12:57:03 2008 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments *************** *** 48,54 **** /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Thu Dec 20 16:13:07 2007) /DOCINFO pdfmark end } ifelse --- 48,54 ---- /Author (John W. Eaton,,,) % /Producer (gnuplot) % /Keywords () ! /CreationDate (Mon Apr 21 12:57:03 2008) /DOCINFO pdfmark end } ifelse *************** *** 530,536 **** }{ /g {stroke pm3dround pm3dGamma exp setgray} bind def } ifelse ! 1.000 UL LTb 490 280 M 63 0 V --- 530,536 ---- }{ /g {stroke pm3dround pm3dGamma exp setgray} bind def } ifelse ! 0.500 UL LTb 490 280 M 63 0 V *************** *** 540,546 **** 0.00 0.00 0.00 C 406 280 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 1.000 UL LTb 490 1198 M 63 0 V --- 540,546 ---- 0.00 0.00 0.00 C 406 280 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MRshow ! 0.500 UL LTb 490 1198 M 63 0 V *************** *** 550,556 **** 0.00 0.00 0.00 C 406 1198 M [ [(Helvetica) 140.0 0.0 true true 0 (0.2)] ] -46.7 MRshow ! 1.000 UL LTb 490 2117 M 63 0 V --- 550,556 ---- 0.00 0.00 0.00 C 406 1198 M [ [(Helvetica) 140.0 0.0 true true 0 (0.2)] ] -46.7 MRshow ! 0.500 UL LTb 490 2117 M 63 0 V *************** *** 560,566 **** 0.00 0.00 0.00 C 406 2117 M [ [(Helvetica) 140.0 0.0 true true 0 (0.4)] ] -46.7 MRshow ! 1.000 UL LTb 490 3035 M 63 0 V --- 560,566 ---- 0.00 0.00 0.00 C 406 2117 M [ [(Helvetica) 140.0 0.0 true true 0 (0.4)] ] -46.7 MRshow ! 0.500 UL LTb 490 3035 M 63 0 V *************** *** 570,576 **** 0.00 0.00 0.00 C 406 3035 M [ [(Helvetica) 140.0 0.0 true true 0 (0.6)] ] -46.7 MRshow ! 1.000 UL LTb 490 3954 M 63 0 V --- 570,576 ---- 0.00 0.00 0.00 C 406 3035 M [ [(Helvetica) 140.0 0.0 true true 0 (0.6)] ] -46.7 MRshow ! 0.500 UL LTb 490 3954 M 63 0 V *************** *** 580,586 **** 0.00 0.00 0.00 C 406 3954 M [ [(Helvetica) 140.0 0.0 true true 0 (0.8)] ] -46.7 MRshow ! 1.000 UL LTb 490 4872 M 63 0 V --- 580,586 ---- 0.00 0.00 0.00 C 406 3954 M [ [(Helvetica) 140.0 0.0 true true 0 (0.8)] ] -46.7 MRshow ! 0.500 UL LTb 490 4872 M 63 0 V *************** *** 590,596 **** 0.00 0.00 0.00 C 406 4872 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MRshow ! 1.000 UL LTb 490 280 M 0 63 V --- 590,596 ---- 0.00 0.00 0.00 C 406 4872 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MRshow ! 0.500 UL LTb 490 280 M 0 63 V *************** *** 600,606 **** 0.00 0.00 0.00 C 490 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 1.000 UL LTb 1784 280 M 0 63 V --- 600,606 ---- 0.00 0.00 0.00 C 490 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0)] ] -46.7 MCshow ! 0.500 UL LTb 1784 280 M 0 63 V *************** *** 610,616 **** 0.00 0.00 0.00 C 1784 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.2)] ] -46.7 MCshow ! 1.000 UL LTb 3079 280 M 0 63 V --- 610,616 ---- 0.00 0.00 0.00 C 1784 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.2)] ] -46.7 MCshow ! 0.500 UL LTb 3079 280 M 0 63 V *************** *** 620,626 **** 0.00 0.00 0.00 C 3079 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.4)] ] -46.7 MCshow ! 1.000 UL LTb 4373 280 M 0 63 V --- 620,626 ---- 0.00 0.00 0.00 C 3079 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.4)] ] -46.7 MCshow ! 0.500 UL LTb 4373 280 M 0 63 V *************** *** 630,636 **** 0.00 0.00 0.00 C 4373 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.6)] ] -46.7 MCshow ! 1.000 UL LTb 5668 280 M 0 63 V --- 630,636 ---- 0.00 0.00 0.00 C 4373 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.6)] ] -46.7 MCshow ! 0.500 UL LTb 5668 280 M 0 63 V *************** *** 640,646 **** 0.00 0.00 0.00 C 5668 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.8)] ] -46.7 MCshow ! 1.000 UL LTb 6962 280 M 0 63 V --- 640,646 ---- 0.00 0.00 0.00 C 5668 140 M [ [(Helvetica) 140.0 0.0 true true 0 (0.8)] ] -46.7 MCshow ! 0.500 UL LTb 6962 280 M 0 63 V *************** *** 650,658 **** 0.00 0.00 0.00 C 6962 140 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MCshow ! 1.000 UL LTb ! 1.000 UL LTb 490 4872 N 490 280 L --- 650,658 ---- 0.00 0.00 0.00 C 6962 140 M [ [(Helvetica) 140.0 0.0 true true 0 (1)] ] -46.7 MCshow ! 0.500 UL LTb ! 0.500 UL LTb 490 4872 N 490 280 L *************** *** 661,667 **** -6472 0 V Z stroke 1.000 UP ! 1.000 UL LTb 0.500 UL LT0 --- 661,667 ---- -6472 0 V Z stroke 1.000 UP ! 0.500 UL LTb 0.500 UL LT0 *************** *** 1006,1012 **** -47 -2 V -46 0 V stroke ! 1.000 UL LTb 490 4872 N 490 280 L --- 1006,1012 ---- -47 -2 V -46 0 V stroke ! 0.500 UL LTb 490 4872 N 490 280 L *************** *** 1015,1021 **** -6472 0 V Z stroke 1.000 UP ! 1.000 UL LTb stroke grestore --- 1015,1021 ---- -6472 0 V Z stroke 1.000 UP ! 0.500 UL LTb stroke grestore Binary files octave-3.0.0/doc/interpreter/voronoi.pdf and octave-3.0.1/doc/interpreter/voronoi.pdf differ Binary files octave-3.0.0/doc/liboctave/liboctave.pdf and octave-3.0.1/doc/liboctave/liboctave.pdf differ Binary files octave-3.0.0/doc/refcard/refcard-a4.pdf and octave-3.0.1/doc/refcard/refcard-a4.pdf differ Binary files octave-3.0.0/doc/refcard/refcard-legal.pdf and octave-3.0.1/doc/refcard/refcard-legal.pdf differ Binary files octave-3.0.0/doc/refcard/refcard-letter.pdf and octave-3.0.1/doc/refcard/refcard-letter.pdf differ diff -cNr octave-3.0.0/examples/Makefile.in octave-3.0.1/examples/Makefile.in *** octave-3.0.0/examples/Makefile.in Fri Oct 12 17:27:12 2007 --- octave-3.0.1/examples/Makefile.in Mon Apr 21 12:00:19 2008 *************** *** 1,6 **** # Makefile for octave's examples directory # ! # Copyright (C) 1996, 1997, 2003, 2005, 2006, 2007 John W. Eaton # # This file is part of Octave. # --- 1,6 ---- # Makefile for octave's examples directory # ! # Copyright (C) 1996, 1997, 2003, 2005, 2006, 2007, 2008 John W. Eaton # # This file is part of Octave. # *************** *** 95,101 **** rm -f $(DESTDIR)$(imagedir)/$$f; \ $(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(imagedir)/$$f; \ done ! if test -n "$(DESKTOP_FILE_INSTALL)"; then \ $(DESKTOP_FILE_INSTALL) --dir=$(DESTDIR)$(datadir)/applications \ --vendor www.octave.org octave.desktop; \ fi --- 95,101 ---- rm -f $(DESTDIR)$(imagedir)/$$f; \ $(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(imagedir)/$$f; \ done ! -if test -n "$(DESKTOP_FILE_INSTALL)"; then \ $(DESKTOP_FILE_INSTALL) --dir=$(DESTDIR)$(datadir)/applications \ --vendor www.octave.org octave.desktop; \ fi diff -cNr octave-3.0.0/examples/octave.desktop.in octave-3.0.1/examples/octave.desktop.in *** octave-3.0.0/examples/octave.desktop.in Wed Jul 19 02:18:12 2006 --- octave-3.0.1/examples/octave.desktop.in Mon Apr 21 11:58:39 2008 *************** *** 1,5 **** [Desktop Entry] - Encoding=UTF-8 Name=GNU Octave Comment=Scientific Computing using GNU Octave TryExec=%OCTAVE_PREFIX%/bin/octave --- 1,4 ---- diff -cNr octave-3.0.0/libcruft/ChangeLog octave-3.0.1/libcruft/ChangeLog *** octave-3.0.0/libcruft/ChangeLog Fri Dec 21 12:46:23 2007 --- octave-3.0.1/libcruft/ChangeLog Mon Apr 21 12:02:47 2008 *************** *** 1,3 **** --- 1,19 ---- + 2008-04-21 John W. Eaton + + Version 3.0.1 released. + + 2008-04-04 John W. Eaton + + * blas/zdrot.f, odepack/dlsode.f, odepack/ewset.f, + odepack/intdy.f, fftpack/cffti.f, fftpack/cfftb.f, + fftpack/cfftf.f: + Use (*) instead of (1) for assumed-size dimensions. + + 2008-02-12 John W. Eaton + + * lapack-xtra/xilaenv.f: New wrapper for Fortran function ilaenv. + * lapack-xtra/Makefile.in (FSRC): Add it to the list. + 2007-12-21 John W. Eaton Version 3.0.0 released. diff -cNr octave-3.0.0/libcruft/blas/zdrot.f octave-3.0.1/libcruft/blas/zdrot.f *** octave-3.0.0/libcruft/blas/zdrot.f Thu Jul 18 21:29:10 1996 --- octave-3.0.1/libcruft/blas/zdrot.f Mon Apr 21 11:58:39 2008 *************** *** 4,10 **** c double precision and the vectors zx and zy are double complex. c jack dongarra, linpack, 3/11/78. c ! double complex zx(1),zy(1),ztemp double precision c,s integer i,incx,incy,ix,iy,n c --- 4,10 ---- c double precision and the vectors zx and zy are double complex. c jack dongarra, linpack, 3/11/78. c ! double complex zx(*),zy(*),ztemp double precision c,s integer i,incx,incy,ix,iy,n c diff -cNr octave-3.0.0/libcruft/daspk/ddaspk.f octave-3.0.1/libcruft/daspk/ddaspk.f *** octave-3.0.0/libcruft/daspk/ddaspk.f Tue Feb 18 15:00:48 2003 --- octave-3.0.1/libcruft/daspk/ddaspk.f Mon Apr 21 11:58:39 2008 *************** *** 55,61 **** C * IDID, RWORK, LRW, IWORK, LIW, RPAR, IPAR, JAC, PSOL) C C Quantities which may be altered by the code are: ! C T, Y(*), YPRIME(*), INFO(1), RTOL, ATOL, IDID, RWORK(*), IWORK(*) C C C *Arguments: --- 55,61 ---- C * IDID, RWORK, LRW, IWORK, LIW, RPAR, IPAR, JAC, PSOL) C C Quantities which may be altered by the code are: ! C T, Y(*), YPRIME(*), INFO(*), RTOL, ATOL, IDID, RWORK(*), IWORK(*) C C C *Arguments: diff -cNr octave-3.0.0/libcruft/fftpack/cfftb.f octave-3.0.1/libcruft/fftpack/cfftb.f *** octave-3.0.0/libcruft/fftpack/cfftb.f Thu Jul 18 21:29:15 1996 --- octave-3.0.1/libcruft/fftpack/cfftb.f Mon Apr 21 11:58:39 2008 *************** *** 1,6 **** subroutine cfftb (n,c,wsave) implicit double precision (a-h,o-z) ! dimension c(1) ,wsave(1) if (n .eq. 1) return iw1 = n+n+1 iw2 = iw1+n+n --- 1,6 ---- subroutine cfftb (n,c,wsave) implicit double precision (a-h,o-z) ! dimension c(*) ,wsave(*) if (n .eq. 1) return iw1 = n+n+1 iw2 = iw1+n+n diff -cNr octave-3.0.0/libcruft/fftpack/cfftf.f octave-3.0.1/libcruft/fftpack/cfftf.f *** octave-3.0.0/libcruft/fftpack/cfftf.f Thu Jul 18 21:29:15 1996 --- octave-3.0.1/libcruft/fftpack/cfftf.f Mon Apr 21 11:58:39 2008 *************** *** 1,6 **** subroutine cfftf (n,c,wsave) implicit double precision (a-h,o-z) ! dimension c(1) ,wsave(1) if (n .eq. 1) return iw1 = n+n+1 iw2 = iw1+n+n --- 1,6 ---- subroutine cfftf (n,c,wsave) implicit double precision (a-h,o-z) ! dimension c(*) ,wsave(*) if (n .eq. 1) return iw1 = n+n+1 iw2 = iw1+n+n diff -cNr octave-3.0.0/libcruft/fftpack/cffti.f octave-3.0.1/libcruft/fftpack/cffti.f *** octave-3.0.0/libcruft/fftpack/cffti.f Thu Jul 18 21:29:15 1996 --- octave-3.0.1/libcruft/fftpack/cffti.f Mon Apr 21 11:58:39 2008 *************** *** 1,6 **** subroutine cffti (n,wsave) implicit double precision (a-h,o-z) ! dimension wsave(1) if (n .eq. 1) return iw1 = n+n+1 iw2 = iw1+n+n --- 1,6 ---- subroutine cffti (n,wsave) implicit double precision (a-h,o-z) ! dimension wsave(*) if (n .eq. 1) return iw1 = n+n+1 iw2 = iw1+n+n diff -cNr octave-3.0.0/libcruft/lapack-xtra/Makefile.in octave-3.0.1/libcruft/lapack-xtra/Makefile.in *** octave-3.0.0/libcruft/lapack-xtra/Makefile.in Fri Oct 12 17:27:12 2007 --- octave-3.0.1/libcruft/lapack-xtra/Makefile.in Mon Apr 21 12:00:19 2008 *************** *** 1,6 **** # Makefile for octave's libcruft/lapack-xtra directory # ! # Copyright (C) 2000, 2007 John W. Eaton # # This file is part of Octave. # --- 1,6 ---- # Makefile for octave's libcruft/lapack-xtra directory # ! # Copyright (C) 2000, 2007, 2008 John W. Eaton # # This file is part of Octave. # *************** *** 26,32 **** EXTERNAL_DISTFILES = $(DISTFILES) ! FSRC = xdlamch.f xdlange.f xzlange.f include $(TOPDIR)/Makeconf --- 26,32 ---- EXTERNAL_DISTFILES = $(DISTFILES) ! FSRC = xdlamch.f xdlange.f xilaenv.f xzlange.f include $(TOPDIR)/Makeconf diff -cNr octave-3.0.0/libcruft/lapack-xtra/xilaenv.f octave-3.0.1/libcruft/lapack-xtra/xilaenv.f *** octave-3.0.0/libcruft/lapack-xtra/xilaenv.f Wed Dec 31 19:00:00 1969 --- octave-3.0.1/libcruft/lapack-xtra/xilaenv.f Mon Apr 21 11:58:39 2008 *************** *** 0 **** --- 1,6 ---- + subroutine xilaenv (ispec, name, opts, n1, n2, n3, n4, retval) + character*(*) name, opts + integer ilaenv, ispec, n1, n2, n3, n4, retval + retval = ilaenv (ispec, name, opts, n1, n2, n3, n4) + return + end diff -cNr octave-3.0.0/libcruft/odepack/dlsode.f octave-3.0.1/libcruft/odepack/dlsode.f *** octave-3.0.0/libcruft/odepack/dlsode.f Fri Oct 31 10:18:31 2003 --- octave-3.0.1/libcruft/odepack/dlsode.f Mon Apr 21 11:58:39 2008 *************** *** 3,9 **** EXTERNAL F, JAC INTEGER NEQ, ITOL, ITASK, ISTATE, IOPT, LRW, IWORK, LIW, MF DOUBLE PRECISION Y, T, TOUT, RTOL, ATOL, RWORK ! DIMENSION NEQ(1), Y(1), RTOL(1), ATOL(1), RWORK(LRW), IWORK(LIW) C----------------------------------------------------------------------- C THIS IS THE MARCH 30, 1987 VERSION OF C LSODE.. LIVERMORE SOLVER FOR ORDINARY DIFFERENTIAL EQUATIONS. --- 3,9 ---- EXTERNAL F, JAC INTEGER NEQ, ITOL, ITASK, ISTATE, IOPT, LRW, IWORK, LIW, MF DOUBLE PRECISION Y, T, TOUT, RTOL, ATOL, RWORK ! DIMENSION NEQ(*), Y(*), RTOL(*), ATOL(*), RWORK(LRW), IWORK(LIW) C----------------------------------------------------------------------- C THIS IS THE MARCH 30, 1987 VERSION OF C LSODE.. LIVERMORE SOLVER FOR ORDINARY DIFFERENTIAL EQUATIONS. diff -cNr octave-3.0.0/libcruft/odepack/ewset.f octave-3.0.1/libcruft/odepack/ewset.f *** octave-3.0.0/libcruft/odepack/ewset.f Thu Jul 18 21:29:48 1996 --- octave-3.0.1/libcruft/odepack/ewset.f Mon Apr 21 11:58:39 2008 *************** *** 9,15 **** INTEGER N, ITOL INTEGER I DOUBLE PRECISION RTOL, ATOL, YCUR, EWT ! DIMENSION RTOL(1), ATOL(1), YCUR(N), EWT(N) C GO TO (10, 20, 30, 40), ITOL 10 CONTINUE --- 9,15 ---- INTEGER N, ITOL INTEGER I DOUBLE PRECISION RTOL, ATOL, YCUR, EWT ! DIMENSION RTOL(*), ATOL(*), YCUR(N), EWT(N) C GO TO (10, 20, 30, 40), ITOL 10 CONTINUE diff -cNr octave-3.0.0/libcruft/odepack/intdy.f octave-3.0.1/libcruft/odepack/intdy.f *** octave-3.0.0/libcruft/odepack/intdy.f Wed Aug 14 21:36:25 2002 --- octave-3.0.1/libcruft/odepack/intdy.f Mon Apr 21 11:58:39 2008 *************** *** 9,15 **** DOUBLE PRECISION ROWNS, 1 CCMAX, EL0, H, HMIN, HMXI, HU, RC, TN, UROUND DOUBLE PRECISION C, R, S, TP ! DIMENSION YH(NYH,1), DKY(1) COMMON /LS0001/ ROWNS(209), 2 CCMAX, EL0, H, HMIN, HMXI, HU, RC, TN, UROUND, 3 IOWND(14), IOWNS(6), --- 9,15 ---- DOUBLE PRECISION ROWNS, 1 CCMAX, EL0, H, HMIN, HMXI, HU, RC, TN, UROUND DOUBLE PRECISION C, R, S, TP ! DIMENSION YH(NYH,*), DKY(*) COMMON /LS0001/ ROWNS(209), 2 CCMAX, EL0, H, HMIN, HMXI, HU, RC, TN, UROUND, 3 IOWND(14), IOWNS(6), diff -cNr octave-3.0.0/liboctave/Array-util.cc octave-3.0.1/liboctave/Array-util.cc *** octave-3.0.0/liboctave/Array-util.cc Mon Dec 3 17:55:20 2007 --- octave-3.0.1/liboctave/Array-util.cc Mon Apr 21 12:00:19 2008 *************** *** 1,6 **** /* ! Copyright (C) 2003, 2004, 2005, 2006, 2007 John W. Eaton This file is part of Octave. --- 1,6 ---- /* ! Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 135,140 **** --- 135,160 ---- } bool + is_vector (const dim_vector& dim) + { + int m = 0; + int n = dim.length (); + bool retval = true; + + if (n == 0) + m = 2; + else + { + for (int i = 0; i < n; i ++) + if (dim (i) > 1) + m++; + else if (dim(i) < 1) + m += 2; + } + return (m < 2); + } + + bool any_ones (const Array& arr) { bool retval = false; diff -cNr octave-3.0.0/liboctave/Array-util.h octave-3.0.1/liboctave/Array-util.h *** octave-3.0.0/liboctave/Array-util.h Tue Dec 4 10:49:12 2007 --- octave-3.0.1/liboctave/Array-util.h Mon Apr 21 12:00:19 2008 *************** *** 1,6 **** /* ! Copyright (C) 2000, 2003, 2004, 2005, 2006, 2007 John W. Eaton This file is part of Octave. --- 1,6 ---- /* ! Copyright (C) 2000, 2003, 2004, 2005, 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 43,48 **** --- 43,50 ---- extern OCTAVE_API bool is_scalar (const dim_vector& dim); + extern OCTAVE_API bool is_vector (const dim_vector& dim); + extern OCTAVE_API bool any_ones (const Array& arr); extern OCTAVE_API octave_idx_type compute_index (const Array& ra_idx, const dim_vector& dims); diff -cNr octave-3.0.0/liboctave/Array.cc octave-3.0.1/liboctave/Array.cc *** octave-3.0.0/liboctave/Array.cc Mon Dec 17 22:48:03 2007 --- octave-3.0.1/liboctave/Array.cc Mon Apr 21 12:00:19 2008 *************** *** 2,8 **** /* Copyright (C) 1993, 1994, 1995, 1996, 1997, 2000, 2002, 2003, 2004, ! 2005, 2006, 2007 John W. Eaton This file is part of Octave. --- 2,8 ---- /* Copyright (C) 1993, 1994, 1995, 1996, 1997, 2000, 2002, 2003, 2004, ! 2005, 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 64,69 **** --- 64,91 ---- } template + Array& + Array::operator = (const Array& a) + { + if (this != &a) + { + if (--rep->count <= 0) + delete rep; + + rep = a.rep; + rep->count++; + + dimensions = a.dimensions; + + delete [] idx; + idx_count = 0; + idx = 0; + } + + return *this; + } + + template Array Array::squeeze (void) const { *************** *** 2392,2398 **** dim_vector new_dims = dims (); dim_vector frozen_lengths; ! if (! any_orig_empty (ra_idx) && ra_idx_len < n_dims) frozen_lengths = short_freeze (ra_idx, dimensions, resize_ok); else { --- 2414,2420 ---- dim_vector new_dims = dims (); dim_vector frozen_lengths; ! if (!ra_idx (ra_idx_len - 1).orig_empty () && ra_idx_len < n_dims) frozen_lengths = short_freeze (ra_idx, dimensions, resize_ok); else { *************** *** 3092,3126 **** if (orig_empty) { ! int k = 0; ! for (int i = 0; i < n_idx; i++) { ! // If index is a colon, resizing to RHS dimensions is ! // allowed because we started out empty. ! ! if (idx(i).is_colon ()) { ! if (k < rhs_dims.length ()) ! new_dims(i) = rhs_dims(k++); ! else new_dims(i) = 1; } else { ! octave_idx_type nelem = idx(i).capacity (); ! if (nelem >= 1 ! && ((k < rhs_dims.length () && nelem == rhs_dims(k)) ! || rhs_is_scalar)) ! k++; ! else if (! (nelem == 1 || rhs_is_scalar)) { (*current_liboctave_error_handler) ("A(IDX-LIST) = RHS: mismatched index and RHS dimension"); return retval; } ! new_dims(i) = idx(i).orig_empty () ? 0 : idx(i).max () + 1; } } } --- 3114,3213 ---- if (orig_empty) { ! if (rhs_is_scalar) { ! for (int i = 0; i < n_idx; i++) { ! if (idx(i).is_colon ()) new_dims(i) = 1; + else + new_dims(i) = idx(i).orig_empty () ? 0 : idx(i).max () + 1; + } + } + else if (is_vector (rhs_dims)) + { + int ncolon = 0; + int fcolon = 0; + octave_idx_type new_dims_numel = 1; + int new_dims_vec = 0; + for (int i = 0; i < n_idx; i++) + if (idx(i).is_colon ()) + { + ncolon ++; + if (ncolon == 1) + fcolon = i; + } + else + { + octave_idx_type cap = idx(i).capacity (); + new_dims_numel *= cap; + if (cap != 1) + new_dims_vec ++; + } + + if (ncolon == n_idx) + { + new_dims = rhs_dims; + new_dims.resize (n_idx); + for (int i = rhs_dims_len; i < n_idx; i++) + new_dims (i) = 1; } else { ! octave_idx_type rhs_dims_numel = rhs_dims.numel (); ! ! for (int i = 0; i < n_idx; i++) ! new_dims(i) = idx(i).orig_empty () ? 0 : idx(i).max () + 1; ! if (new_dims_numel != rhs_dims_numel && ! ncolon > 0 && new_dims_numel == 1) ! { ! if (ncolon == rhs_dims_len) ! { ! int k = 0; ! for (int i = 0; i < n_idx; i++) ! if (idx(i).is_colon ()) ! new_dims (i) = rhs_dims (k++); ! } ! else ! new_dims (fcolon) = rhs_dims_numel; ! } ! else if (new_dims_numel != rhs_dims_numel || new_dims_vec > 1) { (*current_liboctave_error_handler) ("A(IDX-LIST) = RHS: mismatched index and RHS dimension"); return retval; } + } + } + else + { + int k = 0; + for (int i = 0; i < n_idx; i++) + { + if (idx(i).is_colon ()) + { + if (k < rhs_dims_len) + new_dims(i) = rhs_dims(k++); + else + new_dims(i) = 1; + } + else + { + octave_idx_type nelem = idx(i).capacity (); ! if (nelem >= 1 ! && (k < rhs_dims_len && nelem == rhs_dims(k))) ! k++; ! else if (nelem != 1) ! { ! (*current_liboctave_error_handler) ! ("A(IDX-LIST) = RHS: mismatched index and RHS dimension"); ! return retval; ! } ! new_dims(i) = idx(i).orig_empty () ? 0 : ! idx(i).max () + 1; ! } } } } diff -cNr octave-3.0.0/liboctave/Array.h octave-3.0.1/liboctave/Array.h *** octave-3.0.0/liboctave/Array.h Fri Oct 12 17:27:13 2007 --- octave-3.0.1/liboctave/Array.h Mon Apr 21 12:00:19 2008 *************** *** 2,8 **** /* Copyright (C) 1993, 1994, 1995, 1996, 1997, 2000, 2001, 2002, 2003, ! 2004, 2005, 2006, 2007 John W. Eaton This file is part of Octave. --- 2,8 ---- /* Copyright (C) 1993, 1994, 1995, 1996, 1997, 2000, 2001, 2002, 2003, ! 2004, 2005, 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 228,251 **** virtual ~Array (void); ! Array& operator = (const Array& a) ! { ! if (this != &a) ! { ! if (--rep->count <= 0) ! delete rep; ! ! rep = a.rep; ! rep->count++; ! ! dimensions = a.dimensions; ! ! idx_count = 0; ! idx = 0; ! } ! ! return *this; ! } void fill (const T& val) { make_unique (val); } --- 228,234 ---- virtual ~Array (void); ! Array& operator = (const Array& a); void fill (const T& val) { make_unique (val); } diff -cNr octave-3.0.0/liboctave/CMatrix.cc octave-3.0.1/liboctave/CMatrix.cc *** octave-3.0.0/liboctave/CMatrix.cc Thu Dec 6 14:16:47 2007 --- octave-3.0.1/liboctave/CMatrix.cc Mon Apr 21 12:00:19 2008 *************** *** 2,8 **** /* Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, ! 2003, 2004, 2005, 2006, 2007 John W. Eaton This file is part of Octave. --- 2,8 ---- /* Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, ! 2003, 2004, 2005, 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 64,69 **** --- 64,77 ---- extern "C" { F77_RET_T + F77_FUNC (xilaenv, XILAENV) (const octave_idx_type&, F77_CONST_CHAR_ARG_DECL, + F77_CONST_CHAR_ARG_DECL, + const octave_idx_type&, const octave_idx_type&, + const octave_idx_type&, const octave_idx_type&, + octave_idx_type& + F77_CHAR_ARG_LEN_DECL F77_CHAR_ARG_LEN_DECL); + + F77_RET_T F77_FUNC (zgebal, ZGEBAL) (F77_CONST_CHAR_ARG_DECL, const octave_idx_type&, Complex*, const octave_idx_type&, octave_idx_type&, octave_idx_type&, double*, octave_idx_type& *************** *** 2492,2499 **** Array work (1); ! // FIXME: Can SMLSIZ be other than 25? ! octave_idx_type smlsiz = 25; // We compute the size of rwork and iwork because ZGELSD in // older versions of LAPACK does not return them on a query --- 2500,2518 ---- Array work (1); ! octave_idx_type smlsiz; ! F77_FUNC (xilaenv, XILAENV) (9, F77_CONST_CHAR_ARG2 ("ZGELSD", 6), ! F77_CONST_CHAR_ARG2 (" ", 1), ! 0, 0, 0, 0, smlsiz ! F77_CHAR_ARG_LEN (6) ! F77_CHAR_ARG_LEN (1)); ! ! octave_idx_type mnthr; ! F77_FUNC (xilaenv, XILAENV) (6, F77_CONST_CHAR_ARG2 ("ZGELSD", 6), ! F77_CONST_CHAR_ARG2 (" ", 1), ! m, n, nrhs, -1, mnthr ! F77_CHAR_ARG_LEN (6) ! F77_CHAR_ARG_LEN (1)); // We compute the size of rwork and iwork because ZGELSD in // older versions of LAPACK does not return them on a query *************** *** 2501,2511 **** double dminmn = static_cast (minmn); double dsmlsizp1 = static_cast (smlsiz+1); #if defined (HAVE_LOG2) ! double tmp = log2 (dminmn) / dsmlsizp1 + 1; #else ! double tmp = log (dminmn) / dsmlsizp1 / log (2.0) + 1; #endif ! octave_idx_type nlvl = static_cast (tmp); if (nlvl < 0) nlvl = 0; --- 2520,2530 ---- double dminmn = static_cast (minmn); double dsmlsizp1 = static_cast (smlsiz+1); #if defined (HAVE_LOG2) ! double tmp = log2 (dminmn / dsmlsizp1); #else ! double tmp = log (dminmn / dsmlsizp1) / log (2.0); #endif ! octave_idx_type nlvl = static_cast (tmp) + 1; if (nlvl < 0) nlvl = 0; *************** *** 2526,2531 **** --- 2545,2580 ---- ps, rcond, rank, work.fortran_vec (), lwork, prwork, piwork, info)); + // The workspace query is broken in at least LAPACK 3.0.0 + // through 3.1.1 when n >= mnthr. The obtuse formula below + // should provide sufficient workspace for ZGELSD to operate + // efficiently. + if (n >= mnthr) + { + octave_idx_type addend = m; + + if (2*m-4 > addend) + addend = 2*m-4; + + if (nrhs > addend) + addend = nrhs; + + if (n-3*m > addend) + addend = n-3*m; + + const octave_idx_type lworkaround = 4*m + m*m + addend; + + if (std::real (work(0)) < lworkaround) + work(0) = lworkaround; + } + else if (m >= n) + { + octave_idx_type lworkaround = 2*m + m*nrhs; + + if (std::real (work(0)) < lworkaround) + work(0) = lworkaround; + } + if (f77_exception_encountered) (*current_liboctave_error_handler) ("unrecoverable error in zgelsd"); *************** *** 2664,2671 **** Array work (1); ! // FIXME: Can SMLSIZ be other than 25? ! octave_idx_type smlsiz = 25; // We compute the size of rwork and iwork because ZGELSD in // older versions of LAPACK does not return them on a query --- 2713,2724 ---- Array work (1); ! octave_idx_type smlsiz; ! F77_FUNC (xilaenv, XILAENV) (9, F77_CONST_CHAR_ARG2 ("ZGELSD", 6), ! F77_CONST_CHAR_ARG2 (" ", 1), ! 0, 0, 0, 0, smlsiz ! F77_CHAR_ARG_LEN (6) ! F77_CHAR_ARG_LEN (1)); // We compute the size of rwork and iwork because ZGELSD in // older versions of LAPACK does not return them on a query *************** *** 2673,2683 **** double dminmn = static_cast (minmn); double dsmlsizp1 = static_cast (smlsiz+1); #if defined (HAVE_LOG2) ! double tmp = log2 (dminmn) / dsmlsizp1 + 1; #else ! double tmp = log (dminmn) / dsmlsizp1 / log (2.0) + 1; #endif ! octave_idx_type nlvl = static_cast (tmp); if (nlvl < 0) nlvl = 0; --- 2726,2736 ---- double dminmn = static_cast (minmn); double dsmlsizp1 = static_cast (smlsiz+1); #if defined (HAVE_LOG2) ! double tmp = log2 (dminmn / dsmlsizp1); #else ! double tmp = log (dminmn / dsmlsizp1) / log (2.0); #endif ! octave_idx_type nlvl = static_cast (tmp) + 1; if (nlvl < 0) nlvl = 0; diff -cNr octave-3.0.0/liboctave/CNDArray.cc octave-3.0.1/liboctave/CNDArray.cc *** octave-3.0.0/liboctave/CNDArray.cc Fri Oct 12 17:27:13 2007 --- octave-3.0.1/liboctave/CNDArray.cc Mon Apr 21 12:00:19 2008 *************** *** 1,7 **** // N-D Array manipulations. /* ! Copyright (C) 1996, 1997, 2003, 2004, 2005, 2006, 2007 John W. Eaton This file is part of Octave. --- 1,7 ---- // N-D Array manipulations. /* ! Copyright (C) 1996, 1997, 2003, 2004, 2005, 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 770,775 **** --- 770,778 ---- } } + result.chop_trailing_singletons (); + idx_arg.chop_trailing_singletons (); + return result; } *************** *** 862,867 **** --- 865,873 ---- } } + result.chop_trailing_singletons (); + idx_arg.chop_trailing_singletons (); + return result; } diff -cNr octave-3.0.0/liboctave/ChangeLog octave-3.0.1/liboctave/ChangeLog *** octave-3.0.0/liboctave/ChangeLog Fri Dec 21 12:46:22 2007 --- octave-3.0.1/liboctave/ChangeLog Mon Apr 21 12:02:40 2008 *************** *** 1,3 **** --- 1,169 ---- + 2008-04-21 John W. Eaton + + Version 3.0.1 released. + + * idx-vector.cc (IDX_VEC_REP::idx_vector_rep (const boolNDArray&)): + Fix for-loop condition. + + 2008-04-16 David Bateman + + * Sparse.h (Sparse& operator = (Sparse&)): Move definition + of the operator for here + * Sparse.cc (Sparse& Sparse::operator = (Sparse&)): To + here. Also delete idx. + * Array.h (Array& operator = (Array&)): Move definition + of the operator for here + * Array.cc (Array& Array::operator = (Array&)): To + here. Also delete idx. + + 2008-04-09 Michael Goffioul + + * lo-mappers.cc (xround): Avoid floating-point overflow when input + value is equal to bitmax implementation taken from gnulib). + + * file-stat.cc (file_stat::update_internal): Do not strip trailing + file separator when path length is equal to 1 (handle case '\') under + __WIN32__ platforms. + + 2008-04-03 John W. Eaton + + * lo-sysdep.cc [__WIN32__ && ! __CYGWIN__]: Include windows.h. + + 2008-03-26 David Bateman + + * Array.cc (assignN): refactor calculation of new dimensions when + original matrix is empty. + * Array-util.cc (bool is_vector (const dim_vector&)): New + function. + * Array-util.h (bool is_vector (const dim_vector&)): declare it. + + 2008-03-25 David Bateman + + * sparse-base-chol.h (sparse_base_chol_rep::~sparse_base_chol_rep + (void)): Only free the factorization if it was created + * spase-base-chol.cc (sparse_base_chol_rep::init): Don't attempt + to factorize a matrix that has been flagged as not being positive + definite. + + 2008-03-23 David Bateman + + * mx-ops: Definite binary operators for mixed integer array + + array case, except for 64bit cases. + + 2008-03-19 David Bateman + + * Array.cc (assignN): If orig_empty allow assignment like + a(1:10,1)=1:10 + + 2008-03-18 David Bateman + + * dNDArray.cc (NDArray::min, NDArraymax): chop trailing singletons. + * CNDarray.cc (ComplexNDArray::min, CompelxNDArray::max): ditto. + * intNDarray.cc (intNDArray::min, intNDArray::max): ditto. + + * Array.cc (Array::index): Don't short_freeze on index with + fewer dimensions than the array only if the last dimension is empty. + + 2008-03-18 John W. Eaton + + * oct-inttypes.h (octave_int_fit_to_range): + Use partial specialization for double values. + + 2008-03-12 John W. Eaton + + * dMatrix.cc (Matrix::lssolve): One more xGELSD workspace fix. + + 2008-03-07 John W. Eaton + + * idx-vector.cc (IDX_VEC_REP::idx_vector_rep (bool), + IDX_VEC_REP::idx_vector_rep (const boolNDArray&)): + Simply perform the equivalent of "find" on the bool argument here, + set one_zero to 0 and orig_dims to size of resulting index vector. + (IDX_VEC_REP::freeze): Don't call maybe_convert_one_zero_to_idx here. + + 2008-03-03 David Bateman + + * Sparse.cc (assign1, assign1): Take care of repeated index + values. Adapt the test code to check for these cases. + + 2008-03-03 Jaroslav Hajek + + * dMatrix.cc (Matrix::lssolve): Also avoid dgelsd lwork query bug + in lssolve method that accepts column vector argument. Correct + calculation of nlvl. + * CMatrix.cc (ComplexMatrix::lssolve): Likewise, for zgelsd. + + 2008-02-26 John W. Eaton + + * oct-rand.cc (get_dist_id): Fix typo. + (get_dist_id, octave_rand::distribution, octave_rand::scalar, + fill_rand): Improve error messages. + + * oct-rand.cc (unknown_dist): New dist type. + (uniform_dist, normal_dist, expon_dist, poisson_dist, gamma_dist): + Use static const int instead of #define. + (get_dist_id): Default retval is unknown_dist. + + * oct-rand.cc (rand_states): New static variable. + (initialize_rand_states, get_dist_id, get_internal_state, + set_internal_state, switch_to_generator, save_state): New functions. + (octave_rand::state): New arg to specify distribution. + Save state in rand_states instead of setting internal state. + Return named state. Use set_internal_state to generate proper + state vector from user supplied state. Save and restore current + state if specified and current distributions are different. + (octave_rand::distribution (void)): Use switch rather than if/else. + (octave_rand::distribution (const std::string&)): Likewise. + (octave_rand::uniform_distribution, + octave_rand::normal_distribution, + octave_rand::exponential_distribution, + octave_rand::poisson_distribution, + octave_rand::gamma_distribution): Call switch_to_generator. + (octave_rand::state, maybe_initialize): For new_generators, just + call initialize_rand_states if not already initialized. + (octave_rand::scalar, fill_rand): Save state after generating value. + + * dMatrix.cc (Matrix::lssolve): Avoid another dgelsd lwork query bug. + * CMatrix.cc (ComplexMatrix::lssolve): Likewise, for zgelsd + + 2008-02-15 John W. Eaton + + * dMatrix.cc (Matrix::lssolve): Check n > mnthr, not n > m when + deciding whether to calculate workspace size, with mnthr from ILAENV. + * CMatrix.cc (ComplexMatrix::lssolve): Likewise. + + 2008-02-12 John W. Eaton + + * CMatrix.cc: Declare xilaenv instead of ilaenv. + (ComplexMatrix::lssolve): Call xilaenv instead of ilaenv. + + 2008-02-12 Jason Riedy + + * dMatrix.cc (ILAENV): Declare LAPACK Fortran function. + (Matrix::lssolve): Use ILAENV to query smlsiz. And add an ugly + workaround for DGELSD's broken lwork query. The formula is from + LAPACK's dgelsd.f source and allocates enough workspace to use an + efficient algorithm in the short-and-fat case (n > m). + * CMatrix.cc (ILAENV): Declare LAPACK Fortran function. + (ComplexMatrix::lssolve): Use ILAENV to query smlsiz. And add an + ugly workaround for ZGELSD's broken lwork query, as with double. + + 2008-01-22 Michael Goffioul + + * oct-time.cc (octave_base_tim::init): Validate pointer argument; + this fixes the "localtime(-1)" crash under Windows. + + 2008-01-07 David Bateman + + * Sparse-op-defs.h (SPARSE_ANY_ALL_OP_ROW_CODE): Don't break from + loop if this test succeeds. + + 2008-01-03 David Bateman + + * MSparse.cc (SPARSE_A2A2_OP): If first arg is scalar zero, then + need unary operator on remaining argument + * Sparse-op-defs.h (SPARSE_SMSM_BIN_OP_1): ditto. + 2007-12-21 John W. Eaton Version 3.0.0 released. diff -cNr octave-3.0.0/liboctave/MSparse.cc octave-3.0.1/liboctave/MSparse.cc *** octave-3.0.0/liboctave/MSparse.cc Fri Oct 12 17:27:14 2007 --- octave-3.0.1/liboctave/MSparse.cc Mon Apr 21 11:58:39 2008 *************** *** 1,6 **** /* ! Copyright (C) 2004, 2005, 2006, 2007 David Bateman Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004 Andy Adler This file is part of Octave. --- 1,6 ---- /* ! Copyright (C) 2004, 2005, 2006, 2007, 2008 David Bateman Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004 Andy Adler This file is part of Octave. *************** *** 292,298 **** if (a_nr == 1 && a_nc == 1) \ { \ if (a.elem(0,0) == 0.) \ ! r = MSparse (b); \ else \ { \ r = MSparse (b_nr, b_nc, a.data(0) OP 0.); \ --- 292,298 ---- if (a_nr == 1 && a_nc == 1) \ { \ if (a.elem(0,0) == 0.) \ ! r = OP MSparse (b); \ else \ { \ r = MSparse (b_nr, b_nc, a.data(0) OP 0.); \ diff -cNr octave-3.0.0/liboctave/Sparse-op-defs.h octave-3.0.1/liboctave/Sparse-op-defs.h *** octave-3.0.0/liboctave/Sparse-op-defs.h Mon Dec 17 14:02:13 2007 --- octave-3.0.1/liboctave/Sparse-op-defs.h Mon Apr 21 12:00:19 2008 *************** *** 1,6 **** /* ! Copyright (C) 2004, 2005, 2006, 2007 David Bateman Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004 Andy Adler This file is part of Octave. --- 1,6 ---- /* ! Copyright (C) 2004, 2005, 2006, 2007, 2008 David Bateman Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004 Andy Adler This file is part of Octave. *************** *** 396,402 **** if (m1_nr == 1 && m1_nc == 1) \ { \ if (m1.elem(0,0) == 0.) \ ! r = R (m2); \ else \ { \ r = R (m2_nr, m2_nc, m1.data(0) OP 0.); \ --- 396,402 ---- if (m1_nr == 1 && m1_nc == 1) \ { \ if (m1.elem(0,0) == 0.) \ ! r = OP R (m2); \ else \ { \ r = R (m2_nr, m2_nc, m1.data(0) OP 0.); \ *************** *** 1694,1705 **** SPARSE_REDUCTION_OP_COL_EXPR (OP), \ INIT_VAL, MT_RESULT) #define SPARSE_ANY_ALL_OP_ROW_CODE(TEST_OP, TEST_TRUE_VAL) \ if (data (i) TEST_OP 0.0) \ ! { \ ! tmp[ridx(i)] = TEST_TRUE_VAL; \ ! break; \ ! } #define SPARSE_ANY_ALL_OP_COL_CODE(TEST_OP, TEST_TRUE_VAL) \ if (data (i) TEST_OP 0.0) \ --- 1694,1705 ---- SPARSE_REDUCTION_OP_COL_EXPR (OP), \ INIT_VAL, MT_RESULT) + // Don't break from this loop if the test succeeds because + // we are looping over the rows and not the columns in the inner + // loop. #define SPARSE_ANY_ALL_OP_ROW_CODE(TEST_OP, TEST_TRUE_VAL) \ if (data (i) TEST_OP 0.0) \ ! tmp[ridx(i)] = TEST_TRUE_VAL; \ #define SPARSE_ANY_ALL_OP_COL_CODE(TEST_OP, TEST_TRUE_VAL) \ if (data (i) TEST_OP 0.0) \ diff -cNr octave-3.0.0/liboctave/Sparse.cc octave-3.0.1/liboctave/Sparse.cc *** octave-3.0.0/liboctave/Sparse.cc Wed Dec 19 16:27:23 2007 --- octave-3.0.1/liboctave/Sparse.cc Mon Apr 21 12:00:19 2008 *************** *** 1,7 **** // Template sparse array class /* ! Copyright (C) 2004, 2005, 2006, 2007 David Bateman Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004 Andy Adler This file is part of Octave. --- 1,7 ---- // Template sparse array class /* ! Copyright (C) 2004, 2005, 2006, 2007, 2008 David Bateman Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004 Andy Adler This file is part of Octave. *************** *** 615,620 **** --- 615,642 ---- } template + Sparse& + Sparse::operator = (const Sparse& a) + { + if (this != &a) + { + if (--rep->count <= 0) + delete rep; + + rep = a.rep; + rep->count++; + + dimensions = a.dimensions; + + delete [] idx; + idx_count = 0; + idx = 0; + } + + return *this; + } + + template octave_idx_type Sparse::compute_index (const Array& ra_idx) const { *************** *** 2151,2156 **** --- 2173,2180 ---- OCTAVE_QUIT; octave_idx_type ii = lhs_idx.elem (i); + if (i < n - 1 && lhs_idx.elem (i + 1) == ii) + continue; if (ii < lhs_len && c_lhs.elem(ii) != LT ()) new_nzmx--; if (rhs.elem(rhs_idx[i]) != RT ()) *************** *** 2263,2268 **** --- 2287,2293 ---- RT scalar = rhs.elem (0); bool scalar_non_zero = (scalar != RT ()); lhs_idx.sort (true); + n = lhs_idx.length (n); // First count the number of non-zero elements if (scalar != RT ()) *************** *** 2294,2299 **** --- 2319,2330 ---- while (j < n || i < nz) { + if (j < n - 1 && lhs_idx.elem (j + 1) == jj) + { + j++; + jj = lhs_idx.elem (j); + continue; + } if (j == n || (i < nz && ii < jj)) { tmp.xdata (kk) = c_lhs.data (i); *************** *** 2336,2341 **** --- 2367,2378 ---- while (j < n || i < nz) { + if (j < n - 1 && lhs_idx.elem (j + 1) == jj) + { + j++; + jj = lhs_idx.elem (j); + continue; + } if (j == n || (i < nz && ii < jj)) { while (ic <= ii) *************** *** 2490,2496 **** --- 2527,2535 ---- if (n > 0 && m > 0) { idx_i.sort (true); + n = idx_i.length (n); idx_j.sort (true); + m = idx_j.length (m); octave_idx_type max_row_idx = idx_i_is_colon ? rhs_nr : idx_i.max () + 1; *************** *** 2753,2758 **** --- 2792,2805 ---- { if (iii < n && ii <= pp) { + if (iii < n - 1 && + idx_i.elem (iii + 1) == ii) + { + iii++; + ii = idx_i.elem(iii); + continue; + } + RT rtmp = rhs.elem (rhs_idx_i[iii], rhs_idx_j[jji]); if (rtmp != RT ()) *************** *** 2961,2966 **** --- 3008,3015 ---- OCTAVE_QUIT; octave_idx_type ii = idx_i.elem (i); + if (i < len - 1 && idx_i.elem (i + 1) == ii) + continue; if (ii < lhs_len && c_lhs.elem(ii) != LT ()) new_nzmx--; if (rhs.elem(rhs_idx[i]) != RT ()) *************** *** 3039,3044 **** --- 3088,3094 ---- RT scalar = rhs.elem (0, 0); octave_idx_type new_nzmx = lhs_nz; idx_i.sort (true); + len = idx_i.length (len); // First count the number of non-zero elements if (scalar != RT ()) *************** *** 3073,3078 **** --- 3123,3137 ---- while (j < len || i < lhs_nz) { + if (j < len - 1 && idx_i.elem (j + 1) == jj) + { + j++; + jj = idx_i.elem (j); + jr = jj % lhs_nr; + jc = (jj - jr) / lhs_nr; + continue; + } + if (j == len || (i < lhs_nz && ii < jj)) { while (kc <= ic) diff -cNr octave-3.0.0/liboctave/Sparse.h octave-3.0.1/liboctave/Sparse.h *** octave-3.0.0/liboctave/Sparse.h Fri Oct 12 17:27:15 2007 --- octave-3.0.1/liboctave/Sparse.h Mon Apr 21 12:00:19 2008 *************** *** 1,7 **** // Template sparse classes /* ! Copyright (C) 2004, 2005, 2006, 2007 David Bateman Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004 Andy Adler This file is part of Octave. --- 1,7 ---- // Template sparse classes /* ! Copyright (C) 2004, 2005, 2006, 2007, 2008 David Bateman Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004 Andy Adler This file is part of Octave. *************** *** 220,243 **** virtual ~Sparse (void); ! Sparse& operator = (const Sparse& a) ! { ! if (this != &a) ! { ! if (--rep->count <= 0) ! delete rep; ! ! rep = a.rep; ! rep->count++; ! ! dimensions = a.dimensions; ! } ! ! idx_count = 0; ! idx = 0; ! ! return *this; ! } // Note that nzmax and capacity are the amount of storage for // non-zero elements, while nnz is the actual number of non-zero --- 220,226 ---- virtual ~Sparse (void); ! Sparse& operator = (const Sparse& a); // Note that nzmax and capacity are the amount of storage for // non-zero elements, while nnz is the actual number of non-zero diff -cNr octave-3.0.0/liboctave/dMatrix.cc octave-3.0.1/liboctave/dMatrix.cc *** octave-3.0.0/liboctave/dMatrix.cc Thu Dec 6 14:16:48 2007 --- octave-3.0.1/liboctave/dMatrix.cc Mon Apr 21 12:00:19 2008 *************** *** 2,8 **** /* Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, ! 2003, 2004, 2005, 2006, 2007 John W. Eaton This file is part of Octave. --- 2,8 ---- /* Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, ! 2003, 2004, 2005, 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 60,65 **** --- 60,73 ---- extern "C" { F77_RET_T + F77_FUNC (xilaenv, XILAENV) (const octave_idx_type&, F77_CONST_CHAR_ARG_DECL, + F77_CONST_CHAR_ARG_DECL, + const octave_idx_type&, const octave_idx_type&, + const octave_idx_type&, const octave_idx_type&, + octave_idx_type& + F77_CHAR_ARG_LEN_DECL F77_CHAR_ARG_LEN_DECL); + + F77_RET_T F77_FUNC (dgebal, DGEBAL) (F77_CONST_CHAR_ARG_DECL, const octave_idx_type&, double*, const octave_idx_type&, octave_idx_type&, octave_idx_type&, double*, octave_idx_type& *************** *** 2103,2121 **** Array work (1); ! // FIXME: Can SMLSIZ be other than 25? ! octave_idx_type smlsiz = 25; // We compute the size of iwork because DGELSD in older versions // of LAPACK does not return it on a query call. double dminmn = static_cast (minmn); double dsmlsizp1 = static_cast (smlsiz+1); #if defined (HAVE_LOG2) ! double tmp = log2 (dminmn) / dsmlsizp1 + 1; #else ! double tmp = log (dminmn) / dsmlsizp1 / log (2.0) + 1; #endif ! octave_idx_type nlvl = static_cast (tmp); if (nlvl < 0) nlvl = 0; --- 2111,2140 ---- Array work (1); ! octave_idx_type smlsiz; ! F77_FUNC (xilaenv, XILAENV) (9, F77_CONST_CHAR_ARG2 ("DGELSD", 6), ! F77_CONST_CHAR_ARG2 (" ", 1), ! 0, 0, 0, 0, smlsiz ! F77_CHAR_ARG_LEN (6) ! F77_CHAR_ARG_LEN (1)); ! ! octave_idx_type mnthr; ! F77_FUNC (xilaenv, XILAENV) (6, F77_CONST_CHAR_ARG2 ("DGELSD", 6), ! F77_CONST_CHAR_ARG2 (" ", 1), ! m, n, nrhs, -1, mnthr ! F77_CHAR_ARG_LEN (6) ! F77_CHAR_ARG_LEN (1)); // We compute the size of iwork because DGELSD in older versions // of LAPACK does not return it on a query call. double dminmn = static_cast (minmn); double dsmlsizp1 = static_cast (smlsiz+1); #if defined (HAVE_LOG2) ! double tmp = log2 (dminmn / dsmlsizp1); #else ! double tmp = log (dminmn / dsmlsizp1) / log (2.0); #endif ! octave_idx_type nlvl = static_cast (tmp) + 1; if (nlvl < 0) nlvl = 0; *************** *** 2129,2134 **** --- 2148,2190 ---- ps, rcond, rank, work.fortran_vec (), lwork, piwork, info)); + // The workspace query is broken in at least LAPACK 3.0.0 + // through 3.1.1 when n >= mnthr. The obtuse formula below + // should provide sufficient workspace for DGELSD to operate + // efficiently. + if (n >= mnthr) + { + const octave_idx_type wlalsd + = 9*m + 2*m*smlsiz + 8*m*nlvl + m*nrhs + (smlsiz+1)*(smlsiz+1); + + octave_idx_type addend = m; + + if (2*m-4 > addend) + addend = 2*m-4; + + if (nrhs > addend) + addend = nrhs; + + if (n-3*m > addend) + addend = n-3*m; + + if (wlalsd > addend) + addend = wlalsd; + + const octave_idx_type lworkaround = 4*m + m*m + addend; + + if (work(0) < lworkaround) + work(0) = lworkaround; + } + else if (m >= n) + { + octave_idx_type lworkaround + = 12*n + 2*n*smlsiz + 8*n*nlvl + n*nrhs + (smlsiz+1)*(smlsiz+1); + + if (work(0) < lworkaround) + work(0) = lworkaround; + } + if (f77_exception_encountered) (*current_liboctave_error_handler) ("unrecoverable error in dgelsd"); *************** *** 2268,2286 **** Array work (1); ! // FIXME: Can SMLSIZ be other than 25? ! octave_idx_type smlsiz = 25; // We compute the size of iwork because DGELSD in older versions // of LAPACK does not return it on a query call. double dminmn = static_cast (minmn); double dsmlsizp1 = static_cast (smlsiz+1); #if defined (HAVE_LOG2) ! double tmp = log2 (dminmn) / dsmlsizp1 + 1; #else ! double tmp = log (dminmn) / dsmlsizp1 / log (2.0) + 1; #endif ! octave_idx_type nlvl = static_cast (tmp); if (nlvl < 0) nlvl = 0; --- 2324,2346 ---- Array work (1); ! octave_idx_type smlsiz; ! F77_FUNC (xilaenv, XILAENV) (9, F77_CONST_CHAR_ARG2 ("DGELSD", 6), ! F77_CONST_CHAR_ARG2 (" ", 1), ! 0, 0, 0, 0, smlsiz ! F77_CHAR_ARG_LEN (6) ! F77_CHAR_ARG_LEN (1)); // We compute the size of iwork because DGELSD in older versions // of LAPACK does not return it on a query call. double dminmn = static_cast (minmn); double dsmlsizp1 = static_cast (smlsiz+1); #if defined (HAVE_LOG2) ! double tmp = log2 (dminmn / dsmlsizp1); #else ! double tmp = log (dminmn / dsmlsizp1) / log (2.0); #endif ! octave_idx_type nlvl = static_cast (tmp) + 1; if (nlvl < 0) nlvl = 0; diff -cNr octave-3.0.0/liboctave/dNDArray.cc octave-3.0.1/liboctave/dNDArray.cc *** octave-3.0.0/liboctave/dNDArray.cc Fri Oct 12 17:27:15 2007 --- octave-3.0.1/liboctave/dNDArray.cc Mon Apr 21 12:00:19 2008 *************** *** 1,7 **** // N-D Array manipulations. /* ! Copyright (C) 1996, 1997, 2003, 2004, 2005, 2006, 2007 John W. Eaton This file is part of Octave. --- 1,7 ---- // N-D Array manipulations. /* ! Copyright (C) 1996, 1997, 2003, 2004, 2005, 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 741,746 **** --- 741,749 ---- idx_arg.elem (i) = xisnan (tmp_max) ? 0 : idx_j; } + result.chop_trailing_singletons (); + idx_arg.chop_trailing_singletons (); + return result; } *************** *** 816,821 **** --- 819,827 ---- idx_arg.elem (i) = xisnan (tmp_min) ? 0 : idx_j; } + result.chop_trailing_singletons (); + idx_arg.chop_trailing_singletons (); + return result; } diff -cNr octave-3.0.0/liboctave/file-stat.cc octave-3.0.1/liboctave/file-stat.cc *** octave-3.0.0/liboctave/file-stat.cc Fri Oct 12 17:27:16 2007 --- octave-3.0.1/liboctave/file-stat.cc Mon Apr 21 12:00:19 2008 *************** *** 1,7 **** /* ! Copyright (C) 1996, 1997, 1998, 1999, 2000, 2002, 2005, 2006, 2007 ! John W. Eaton This file is part of Octave. --- 1,7 ---- /* ! Copyright (C) 1996, 1997, 1998, 1999, 2000, 2002, 2005, 2006, 2007, ! 2008 John W. Eaton This file is part of Octave. *************** *** 203,208 **** --- 203,209 ---- #if defined (__WIN32__) // Remove trailing slash. if (file_ops::is_dir_sep (full_file_name[full_file_name.length () - 1]) + && full_file_name.length () != 1 && ! (full_file_name.length() == 3 && full_file_name[1] == ':')) full_file_name.resize (full_file_name.length () - 1); #endif diff -cNr octave-3.0.0/liboctave/idx-vector.cc octave-3.0.1/liboctave/idx-vector.cc *** octave-3.0.0/liboctave/idx-vector.cc Fri Oct 12 17:27:16 2007 --- octave-3.0.1/liboctave/idx-vector.cc Mon Apr 21 12:00:19 2008 *************** *** 1,7 **** /* Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002, ! 2003, 2004, 2005, 2006, 2007 John W. Eaton This file is part of Octave. --- 1,7 ---- /* Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002, ! 2003, 2004, 2005, 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 273,313 **** } IDX_VEC_REP::idx_vector_rep (bool b) ! : data (0), len (1), num_zeros (0), num_ones (0), max_val (0), min_val (0), count (1), frozen_at_z_len (0), ! frozen_len (0), colon (0), one_zero (1), initialized (0), frozen (0), colon_equiv_checked (0), colon_equiv (0), ! orig_dims (1, 1) { ! data = new octave_idx_type [len]; ! ! data[0] = tree_to_mat_idx (b); ! ! init_state (); } IDX_VEC_REP::idx_vector_rep (const boolNDArray& bnda) ! : data (0), len (bnda.length ()), num_zeros (0), num_ones (0), max_val (0), min_val (0), count (1), frozen_at_z_len (0), ! frozen_len (0), colon (0), one_zero (1), initialized (0), frozen (0), colon_equiv_checked (0), colon_equiv (0), ! orig_dims (bnda.dims ()) { if (len == 0) { initialized = 1; - return; } else { - octave_idx_type k = 0; data = new octave_idx_type [len]; ! for (octave_idx_type i = 0; i < len; i++) ! data[k++] = tree_to_mat_idx (bnda.elem (i)); ! } ! init_state (); } IDX_VEC_REP& --- 273,323 ---- } IDX_VEC_REP::idx_vector_rep (bool b) ! : data (0), len (b ? 1 : 0), num_zeros (0), num_ones (0), max_val (0), min_val (0), count (1), frozen_at_z_len (0), ! frozen_len (0), colon (0), one_zero (0), initialized (0), frozen (0), colon_equiv_checked (0), colon_equiv (0), ! orig_dims (len, len) { ! if (len == 0) ! initialized = 1; ! else ! { ! data = new octave_idx_type [len]; ! data[0] = 0; ! init_state (); ! } } IDX_VEC_REP::idx_vector_rep (const boolNDArray& bnda) ! : data (0), len (bnda.nnz ()), num_zeros (0), num_ones (0), max_val (0), min_val (0), count (1), frozen_at_z_len (0), ! frozen_len (0), colon (0), one_zero (0), initialized (0), frozen (0), colon_equiv_checked (0), colon_equiv (0), ! orig_dims () { if (len == 0) { + orig_dims = dim_vector (0, 0); initialized = 1; } else { data = new octave_idx_type [len]; ! octave_idx_type ntot = bnda.length (); ! for (octave_idx_type i = 0, k = 0; i < ntot && k < len; i++) ! if (bnda.elem (i)) ! data[k++] = i; ! ! dim_vector dv = bnda.dims (); ! ! orig_dims = ((dv.length () == 2 && dv(0) == 1) ! ? dim_vector (1, len) : orig_dims = dim_vector (len, 1)); ! ! init_state (); ! } } IDX_VEC_REP& *************** *** 569,576 **** frozen_len = 0; else { - maybe_convert_one_zero_to_idx (z_len); - max_val = max (); min_val = min (); --- 579,584 ---- diff -cNr octave-3.0.0/liboctave/intNDArray.cc octave-3.0.1/liboctave/intNDArray.cc *** octave-3.0.0/liboctave/intNDArray.cc Mon Nov 26 15:42:10 2007 --- octave-3.0.1/liboctave/intNDArray.cc Mon Apr 21 12:00:19 2008 *************** *** 1,7 **** // N-D Array manipulations. /* ! Copyright (C) 2004, 2005, 2006, 2007 John W. Eaton This file is part of Octave. --- 1,7 ---- // N-D Array manipulations. /* ! Copyright (C) 2004, 2005, 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 293,298 **** --- 293,301 ---- idx_arg.elem (i) = idx_j; } + result.chop_trailing_singletons (); + idx_arg.chop_trailing_singletons (); + return result; } *************** *** 360,365 **** --- 363,371 ---- idx_arg.elem (i) = idx_j; } + result.chop_trailing_singletons (); + idx_arg.chop_trailing_singletons (); + return result; } diff -cNr octave-3.0.0/liboctave/lo-mappers.cc octave-3.0.1/liboctave/lo-mappers.cc *** octave-3.0.0/liboctave/lo-mappers.cc Fri Nov 30 13:53:30 2007 --- octave-3.0.1/liboctave/lo-mappers.cc Mon Apr 21 12:00:19 2008 *************** *** 1,7 **** /* Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, ! 2005, 2006, 2007 John W. Eaton This file is part of Octave. --- 1,7 ---- /* Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, ! 2005, 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 75,81 **** #if defined (HAVE_ROUND) return round (x); #else ! return x > 0 ? floor (x + 0.5) : ceil (x - 0.5); #endif } --- 75,98 ---- #if defined (HAVE_ROUND) return round (x); #else ! if (x >= 0) ! { ! double y = floor (x); ! ! if ((x - y) >= 0.5) ! y += 1.0; ! ! return y; ! } ! else ! { ! double y = ceil (x); ! ! if ((y - x) >= 0.5) ! y -= 1.0; ! ! return y; ! } #endif } diff -cNr octave-3.0.0/liboctave/lo-sysdep.cc octave-3.0.1/liboctave/lo-sysdep.cc *** octave-3.0.0/liboctave/lo-sysdep.cc Fri Oct 12 17:27:16 2007 --- octave-3.0.1/liboctave/lo-sysdep.cc Mon Apr 21 12:00:19 2008 *************** *** 1,6 **** /* ! Copyright (C) 1996, 1997, 2000, 2001, 2005, 2006, 2007 John W. Eaton This file is part of Octave. --- 1,6 ---- /* ! Copyright (C) 1996, 1997, 2000, 2001, 2005, 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 39,44 **** --- 39,48 ---- #include #endif + #if defined (__WIN32__) && ! defined (__CYGWIN__) + #include + #endif + #include "file-ops.h" #include "lo-error.h" #include "pathlen.h" *************** *** 174,181 **** // complete implementations (do the functions below work for network // paths, for example)? We can probably get along without rewinddir. - #include - struct __DIR { HANDLE hnd; --- 178,183 ---- diff -cNr octave-3.0.0/liboctave/md5.c octave-3.0.1/liboctave/md5.c *** octave-3.0.0/liboctave/md5.c Thu Mar 1 12:23:39 2007 --- octave-3.0.1/liboctave/md5.c Mon Apr 21 11:58:39 2008 *************** *** 21,27 **** ghost@aladdin.com */ ! /* $Id: md5.c,v 1.6 2002/04/13 19:20:28 lpd Exp $ */ /* Independent implementation of MD5 (RFC 1321). --- 21,27 ---- ghost@aladdin.com */ ! /* $Id: md5.c,v 1.1 2007-03-01 17:23:39 dbateman Exp $ */ /* Independent implementation of MD5 (RFC 1321). diff -cNr octave-3.0.0/liboctave/md5.h octave-3.0.1/liboctave/md5.h *** octave-3.0.0/liboctave/md5.h Thu Mar 1 12:23:39 2007 --- octave-3.0.1/liboctave/md5.h Mon Apr 21 11:58:39 2008 *************** *** 21,27 **** ghost@aladdin.com */ ! /* $Id$ */ /* Independent implementation of MD5 (RFC 1321). --- 21,27 ---- ghost@aladdin.com */ ! /* $Id: md5.h,v 1.1 2007-03-01 17:23:39 dbateman Exp $ */ /* Independent implementation of MD5 (RFC 1321). diff -cNr octave-3.0.0/liboctave/mx-i16-nda.cc octave-3.0.1/liboctave/mx-i16-nda.cc *** octave-3.0.0/liboctave/mx-i16-nda.cc Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-i16-nda.cc Mon Apr 21 12:15:04 2008 *************** *** 6,12 **** --- 6,14 ---- #include "mx-i16-nda.h" #include "boolMatrix.h" #include "boolNDArray.h" + #include "int16NDArray.h" #include "oct-inttypes.h" #include "dNDArray.h" + SND_BIN_OPS (int16NDArray, octave_int16, NDArray) SND_CMP_OPS1 (octave_int16, , NDArray, , int16_t) SND_BOOL_OPS2 (octave_int16, NDArray, octave_int16(0), 0.0) diff -cNr octave-3.0.0/liboctave/mx-i16-nda.h octave-3.0.1/liboctave/mx-i16-nda.h *** octave-3.0.0/liboctave/mx-i16-nda.h Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-i16-nda.h Mon Apr 21 12:15:04 2008 *************** *** 1,9 **** --- 1,11 ---- // DO NOT EDIT -- generated by mk-ops #if !defined (octave_mx_i16_nda_h) #define octave_mx_i16_nda_h 1 + #include "int16NDArray.h" #include "oct-inttypes.h" #include "dNDArray.h" #include "mx-op-defs.h" + SND_BIN_OP_DECLS (int16NDArray, octave_int16, NDArray, OCTAVE_API) SND_CMP_OP_DECLS (octave_int16, NDArray, OCTAVE_API) SND_BOOL_OP_DECLS (octave_int16, NDArray, OCTAVE_API) #endif diff -cNr octave-3.0.0/liboctave/mx-i16nda-nda.cc octave-3.0.1/liboctave/mx-i16nda-nda.cc *** octave-3.0.0/liboctave/mx-i16nda-nda.cc Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-i16nda-nda.cc Mon Apr 21 12:15:04 2008 *************** *** 8,12 **** --- 8,13 ---- #include "boolNDArray.h" #include "int16NDArray.h" #include "dNDArray.h" + NDND_BIN_OPS (int16NDArray, int16NDArray, NDArray) NDND_CMP_OPS (int16NDArray, , NDArray, ) NDND_BOOL_OPS2 (int16NDArray, NDArray, octave_int16(0), 0.0) diff -cNr octave-3.0.0/liboctave/mx-i16nda-nda.h octave-3.0.1/liboctave/mx-i16nda-nda.h *** octave-3.0.0/liboctave/mx-i16nda-nda.h Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-i16nda-nda.h Mon Apr 21 12:15:04 2008 *************** *** 4,9 **** --- 4,10 ---- #include "int16NDArray.h" #include "dNDArray.h" #include "mx-op-defs.h" + NDND_BIN_OP_DECLS (int16NDArray, int16NDArray, NDArray, OCTAVE_API) NDND_CMP_OP_DECLS (int16NDArray, NDArray, OCTAVE_API) NDND_BOOL_OP_DECLS (int16NDArray, NDArray, OCTAVE_API) #endif diff -cNr octave-3.0.0/liboctave/mx-i32-nda.cc octave-3.0.1/liboctave/mx-i32-nda.cc *** octave-3.0.0/liboctave/mx-i32-nda.cc Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-i32-nda.cc Mon Apr 21 12:15:04 2008 *************** *** 6,12 **** --- 6,14 ---- #include "mx-i32-nda.h" #include "boolMatrix.h" #include "boolNDArray.h" + #include "int32NDArray.h" #include "oct-inttypes.h" #include "dNDArray.h" + SND_BIN_OPS (int32NDArray, octave_int32, NDArray) SND_CMP_OPS1 (octave_int32, , NDArray, , int32_t) SND_BOOL_OPS2 (octave_int32, NDArray, octave_int32(0), 0.0) diff -cNr octave-3.0.0/liboctave/mx-i32-nda.h octave-3.0.1/liboctave/mx-i32-nda.h *** octave-3.0.0/liboctave/mx-i32-nda.h Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-i32-nda.h Mon Apr 21 12:15:04 2008 *************** *** 1,9 **** --- 1,11 ---- // DO NOT EDIT -- generated by mk-ops #if !defined (octave_mx_i32_nda_h) #define octave_mx_i32_nda_h 1 + #include "int32NDArray.h" #include "oct-inttypes.h" #include "dNDArray.h" #include "mx-op-defs.h" + SND_BIN_OP_DECLS (int32NDArray, octave_int32, NDArray, OCTAVE_API) SND_CMP_OP_DECLS (octave_int32, NDArray, OCTAVE_API) SND_BOOL_OP_DECLS (octave_int32, NDArray, OCTAVE_API) #endif diff -cNr octave-3.0.0/liboctave/mx-i32nda-nda.cc octave-3.0.1/liboctave/mx-i32nda-nda.cc *** octave-3.0.0/liboctave/mx-i32nda-nda.cc Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-i32nda-nda.cc Mon Apr 21 12:15:04 2008 *************** *** 8,12 **** --- 8,13 ---- #include "boolNDArray.h" #include "int32NDArray.h" #include "dNDArray.h" + NDND_BIN_OPS (int32NDArray, int32NDArray, NDArray) NDND_CMP_OPS (int32NDArray, , NDArray, ) NDND_BOOL_OPS2 (int32NDArray, NDArray, octave_int32(0), 0.0) diff -cNr octave-3.0.0/liboctave/mx-i32nda-nda.h octave-3.0.1/liboctave/mx-i32nda-nda.h *** octave-3.0.0/liboctave/mx-i32nda-nda.h Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-i32nda-nda.h Mon Apr 21 12:15:04 2008 *************** *** 4,9 **** --- 4,10 ---- #include "int32NDArray.h" #include "dNDArray.h" #include "mx-op-defs.h" + NDND_BIN_OP_DECLS (int32NDArray, int32NDArray, NDArray, OCTAVE_API) NDND_CMP_OP_DECLS (int32NDArray, NDArray, OCTAVE_API) NDND_BOOL_OP_DECLS (int32NDArray, NDArray, OCTAVE_API) #endif diff -cNr octave-3.0.0/liboctave/mx-i64-nda.cc octave-3.0.1/liboctave/mx-i64-nda.cc *** octave-3.0.0/liboctave/mx-i64-nda.cc Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-i64-nda.cc Mon Apr 21 12:15:04 2008 *************** *** 6,11 **** --- 6,12 ---- #include "mx-i64-nda.h" #include "boolMatrix.h" #include "boolNDArray.h" + #include "int64NDArray.h" #include "oct-inttypes.h" #include "dNDArray.h" SND_CMP_OPS1 (octave_int64, , NDArray, , int64_t) diff -cNr octave-3.0.0/liboctave/mx-i64-nda.h octave-3.0.1/liboctave/mx-i64-nda.h *** octave-3.0.0/liboctave/mx-i64-nda.h Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-i64-nda.h Mon Apr 21 12:15:04 2008 *************** *** 1,6 **** --- 1,7 ---- // DO NOT EDIT -- generated by mk-ops #if !defined (octave_mx_i64_nda_h) #define octave_mx_i64_nda_h 1 + #include "int64NDArray.h" #include "oct-inttypes.h" #include "dNDArray.h" #include "mx-op-defs.h" diff -cNr octave-3.0.0/liboctave/mx-i8-nda.cc octave-3.0.1/liboctave/mx-i8-nda.cc *** octave-3.0.0/liboctave/mx-i8-nda.cc Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-i8-nda.cc Mon Apr 21 12:15:04 2008 *************** *** 6,12 **** --- 6,14 ---- #include "mx-i8-nda.h" #include "boolMatrix.h" #include "boolNDArray.h" + #include "int8NDArray.h" #include "oct-inttypes.h" #include "dNDArray.h" + SND_BIN_OPS (int8NDArray, octave_int8, NDArray) SND_CMP_OPS1 (octave_int8, , NDArray, , int8_t) SND_BOOL_OPS2 (octave_int8, NDArray, octave_int8(0), 0.0) diff -cNr octave-3.0.0/liboctave/mx-i8-nda.h octave-3.0.1/liboctave/mx-i8-nda.h *** octave-3.0.0/liboctave/mx-i8-nda.h Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-i8-nda.h Mon Apr 21 12:15:04 2008 *************** *** 1,9 **** --- 1,11 ---- // DO NOT EDIT -- generated by mk-ops #if !defined (octave_mx_i8_nda_h) #define octave_mx_i8_nda_h 1 + #include "int8NDArray.h" #include "oct-inttypes.h" #include "dNDArray.h" #include "mx-op-defs.h" + SND_BIN_OP_DECLS (int8NDArray, octave_int8, NDArray, OCTAVE_API) SND_CMP_OP_DECLS (octave_int8, NDArray, OCTAVE_API) SND_BOOL_OP_DECLS (octave_int8, NDArray, OCTAVE_API) #endif diff -cNr octave-3.0.0/liboctave/mx-i8nda-nda.cc octave-3.0.1/liboctave/mx-i8nda-nda.cc *** octave-3.0.0/liboctave/mx-i8nda-nda.cc Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-i8nda-nda.cc Mon Apr 21 12:15:04 2008 *************** *** 8,12 **** --- 8,13 ---- #include "boolNDArray.h" #include "int8NDArray.h" #include "dNDArray.h" + NDND_BIN_OPS (int8NDArray, int8NDArray, NDArray) NDND_CMP_OPS (int8NDArray, , NDArray, ) NDND_BOOL_OPS2 (int8NDArray, NDArray, octave_int8(0), 0.0) diff -cNr octave-3.0.0/liboctave/mx-i8nda-nda.h octave-3.0.1/liboctave/mx-i8nda-nda.h *** octave-3.0.0/liboctave/mx-i8nda-nda.h Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-i8nda-nda.h Mon Apr 21 12:15:04 2008 *************** *** 4,9 **** --- 4,10 ---- #include "int8NDArray.h" #include "dNDArray.h" #include "mx-op-defs.h" + NDND_BIN_OP_DECLS (int8NDArray, int8NDArray, NDArray, OCTAVE_API) NDND_CMP_OP_DECLS (int8NDArray, NDArray, OCTAVE_API) NDND_BOOL_OP_DECLS (int8NDArray, NDArray, OCTAVE_API) #endif diff -cNr octave-3.0.0/liboctave/mx-nda-i16.cc octave-3.0.1/liboctave/mx-nda-i16.cc *** octave-3.0.0/liboctave/mx-nda-i16.cc Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-nda-i16.cc Mon Apr 21 12:15:04 2008 *************** *** 6,12 **** --- 6,14 ---- #include "mx-nda-i16.h" #include "boolMatrix.h" #include "boolNDArray.h" + #include "int16NDArray.h" #include "dNDArray.h" #include "oct-inttypes.h" + NDS_BIN_OPS (int16NDArray, NDArray, octave_int16) NDS_CMP_OPS1 (NDArray, , octave_int16, , int16_t) NDS_BOOL_OPS2 (NDArray, octave_int16, 0.0, octave_int16(0)) diff -cNr octave-3.0.0/liboctave/mx-nda-i16.h octave-3.0.1/liboctave/mx-nda-i16.h *** octave-3.0.0/liboctave/mx-nda-i16.h Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-nda-i16.h Mon Apr 21 12:15:04 2008 *************** *** 1,9 **** --- 1,11 ---- // DO NOT EDIT -- generated by mk-ops #if !defined (octave_mx_nda_i16_h) #define octave_mx_nda_i16_h 1 + #include "int16NDArray.h" #include "dNDArray.h" #include "oct-inttypes.h" #include "mx-op-defs.h" + NDS_BIN_OP_DECLS (int16NDArray, NDArray, octave_int16, OCTAVE_API) NDS_CMP_OP_DECLS (NDArray, octave_int16, OCTAVE_API) NDS_BOOL_OP_DECLS (NDArray, octave_int16, OCTAVE_API) #endif diff -cNr octave-3.0.0/liboctave/mx-nda-i16nda.cc octave-3.0.1/liboctave/mx-nda-i16nda.cc *** octave-3.0.0/liboctave/mx-nda-i16nda.cc Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-nda-i16nda.cc Mon Apr 21 12:15:04 2008 *************** *** 6,12 **** #include "mx-nda-i16nda.h" #include "boolMatrix.h" #include "boolNDArray.h" - #include "dNDArray.h" #include "int16NDArray.h" NDND_CMP_OPS (NDArray, , int16NDArray, ) NDND_BOOL_OPS2 (NDArray, int16NDArray, 0.0, octave_int16(0)) --- 6,13 ---- #include "mx-nda-i16nda.h" #include "boolMatrix.h" #include "boolNDArray.h" #include "int16NDArray.h" + #include "dNDArray.h" + NDND_BIN_OPS (int16NDArray, NDArray, int16NDArray) NDND_CMP_OPS (NDArray, , int16NDArray, ) NDND_BOOL_OPS2 (NDArray, int16NDArray, 0.0, octave_int16(0)) diff -cNr octave-3.0.0/liboctave/mx-nda-i16nda.h octave-3.0.1/liboctave/mx-nda-i16nda.h *** octave-3.0.0/liboctave/mx-nda-i16nda.h Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-nda-i16nda.h Mon Apr 21 12:15:04 2008 *************** *** 1,9 **** // DO NOT EDIT -- generated by mk-ops #if !defined (octave_mx_nda_i16nda_h) #define octave_mx_nda_i16nda_h 1 - #include "dNDArray.h" #include "int16NDArray.h" #include "mx-op-defs.h" NDND_CMP_OP_DECLS (NDArray, int16NDArray, OCTAVE_API) NDND_BOOL_OP_DECLS (NDArray, int16NDArray, OCTAVE_API) #endif --- 1,10 ---- // DO NOT EDIT -- generated by mk-ops #if !defined (octave_mx_nda_i16nda_h) #define octave_mx_nda_i16nda_h 1 #include "int16NDArray.h" + #include "dNDArray.h" #include "mx-op-defs.h" + NDND_BIN_OP_DECLS (int16NDArray, NDArray, int16NDArray, OCTAVE_API) NDND_CMP_OP_DECLS (NDArray, int16NDArray, OCTAVE_API) NDND_BOOL_OP_DECLS (NDArray, int16NDArray, OCTAVE_API) #endif diff -cNr octave-3.0.0/liboctave/mx-nda-i32.cc octave-3.0.1/liboctave/mx-nda-i32.cc *** octave-3.0.0/liboctave/mx-nda-i32.cc Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-nda-i32.cc Mon Apr 21 12:15:04 2008 *************** *** 6,12 **** --- 6,14 ---- #include "mx-nda-i32.h" #include "boolMatrix.h" #include "boolNDArray.h" + #include "int32NDArray.h" #include "dNDArray.h" #include "oct-inttypes.h" + NDS_BIN_OPS (int32NDArray, NDArray, octave_int32) NDS_CMP_OPS1 (NDArray, , octave_int32, , int32_t) NDS_BOOL_OPS2 (NDArray, octave_int32, 0.0, octave_int32(0)) diff -cNr octave-3.0.0/liboctave/mx-nda-i32.h octave-3.0.1/liboctave/mx-nda-i32.h *** octave-3.0.0/liboctave/mx-nda-i32.h Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-nda-i32.h Mon Apr 21 12:15:04 2008 *************** *** 1,9 **** --- 1,11 ---- // DO NOT EDIT -- generated by mk-ops #if !defined (octave_mx_nda_i32_h) #define octave_mx_nda_i32_h 1 + #include "int32NDArray.h" #include "dNDArray.h" #include "oct-inttypes.h" #include "mx-op-defs.h" + NDS_BIN_OP_DECLS (int32NDArray, NDArray, octave_int32, OCTAVE_API) NDS_CMP_OP_DECLS (NDArray, octave_int32, OCTAVE_API) NDS_BOOL_OP_DECLS (NDArray, octave_int32, OCTAVE_API) #endif diff -cNr octave-3.0.0/liboctave/mx-nda-i32nda.cc octave-3.0.1/liboctave/mx-nda-i32nda.cc *** octave-3.0.0/liboctave/mx-nda-i32nda.cc Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-nda-i32nda.cc Mon Apr 21 12:15:04 2008 *************** *** 6,12 **** #include "mx-nda-i32nda.h" #include "boolMatrix.h" #include "boolNDArray.h" - #include "dNDArray.h" #include "int32NDArray.h" NDND_CMP_OPS (NDArray, , int32NDArray, ) NDND_BOOL_OPS2 (NDArray, int32NDArray, 0.0, octave_int32(0)) --- 6,13 ---- #include "mx-nda-i32nda.h" #include "boolMatrix.h" #include "boolNDArray.h" #include "int32NDArray.h" + #include "dNDArray.h" + NDND_BIN_OPS (int32NDArray, NDArray, int32NDArray) NDND_CMP_OPS (NDArray, , int32NDArray, ) NDND_BOOL_OPS2 (NDArray, int32NDArray, 0.0, octave_int32(0)) diff -cNr octave-3.0.0/liboctave/mx-nda-i32nda.h octave-3.0.1/liboctave/mx-nda-i32nda.h *** octave-3.0.0/liboctave/mx-nda-i32nda.h Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-nda-i32nda.h Mon Apr 21 12:15:04 2008 *************** *** 1,9 **** // DO NOT EDIT -- generated by mk-ops #if !defined (octave_mx_nda_i32nda_h) #define octave_mx_nda_i32nda_h 1 - #include "dNDArray.h" #include "int32NDArray.h" #include "mx-op-defs.h" NDND_CMP_OP_DECLS (NDArray, int32NDArray, OCTAVE_API) NDND_BOOL_OP_DECLS (NDArray, int32NDArray, OCTAVE_API) #endif --- 1,10 ---- // DO NOT EDIT -- generated by mk-ops #if !defined (octave_mx_nda_i32nda_h) #define octave_mx_nda_i32nda_h 1 #include "int32NDArray.h" + #include "dNDArray.h" #include "mx-op-defs.h" + NDND_BIN_OP_DECLS (int32NDArray, NDArray, int32NDArray, OCTAVE_API) NDND_CMP_OP_DECLS (NDArray, int32NDArray, OCTAVE_API) NDND_BOOL_OP_DECLS (NDArray, int32NDArray, OCTAVE_API) #endif diff -cNr octave-3.0.0/liboctave/mx-nda-i64.cc octave-3.0.1/liboctave/mx-nda-i64.cc *** octave-3.0.0/liboctave/mx-nda-i64.cc Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-nda-i64.cc Mon Apr 21 12:15:04 2008 *************** *** 6,11 **** --- 6,12 ---- #include "mx-nda-i64.h" #include "boolMatrix.h" #include "boolNDArray.h" + #include "int64NDArray.h" #include "dNDArray.h" #include "oct-inttypes.h" NDS_CMP_OPS1 (NDArray, , octave_int64, , int64_t) diff -cNr octave-3.0.0/liboctave/mx-nda-i64.h octave-3.0.1/liboctave/mx-nda-i64.h *** octave-3.0.0/liboctave/mx-nda-i64.h Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-nda-i64.h Mon Apr 21 12:15:04 2008 *************** *** 1,6 **** --- 1,7 ---- // DO NOT EDIT -- generated by mk-ops #if !defined (octave_mx_nda_i64_h) #define octave_mx_nda_i64_h 1 + #include "int64NDArray.h" #include "dNDArray.h" #include "oct-inttypes.h" #include "mx-op-defs.h" diff -cNr octave-3.0.0/liboctave/mx-nda-i64nda.cc octave-3.0.1/liboctave/mx-nda-i64nda.cc *** octave-3.0.0/liboctave/mx-nda-i64nda.cc Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-nda-i64nda.cc Mon Apr 21 12:15:04 2008 *************** *** 6,12 **** #include "mx-nda-i64nda.h" #include "boolMatrix.h" #include "boolNDArray.h" - #include "dNDArray.h" #include "int64NDArray.h" NDND_CMP_OPS (NDArray, , int64NDArray, ) NDND_BOOL_OPS2 (NDArray, int64NDArray, 0.0, octave_int64(0)) --- 6,12 ---- #include "mx-nda-i64nda.h" #include "boolMatrix.h" #include "boolNDArray.h" #include "int64NDArray.h" + #include "dNDArray.h" NDND_CMP_OPS (NDArray, , int64NDArray, ) NDND_BOOL_OPS2 (NDArray, int64NDArray, 0.0, octave_int64(0)) diff -cNr octave-3.0.0/liboctave/mx-nda-i64nda.h octave-3.0.1/liboctave/mx-nda-i64nda.h *** octave-3.0.0/liboctave/mx-nda-i64nda.h Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-nda-i64nda.h Mon Apr 21 12:15:04 2008 *************** *** 1,8 **** // DO NOT EDIT -- generated by mk-ops #if !defined (octave_mx_nda_i64nda_h) #define octave_mx_nda_i64nda_h 1 - #include "dNDArray.h" #include "int64NDArray.h" #include "mx-op-defs.h" NDND_CMP_OP_DECLS (NDArray, int64NDArray, OCTAVE_API) NDND_BOOL_OP_DECLS (NDArray, int64NDArray, OCTAVE_API) --- 1,8 ---- // DO NOT EDIT -- generated by mk-ops #if !defined (octave_mx_nda_i64nda_h) #define octave_mx_nda_i64nda_h 1 #include "int64NDArray.h" + #include "dNDArray.h" #include "mx-op-defs.h" NDND_CMP_OP_DECLS (NDArray, int64NDArray, OCTAVE_API) NDND_BOOL_OP_DECLS (NDArray, int64NDArray, OCTAVE_API) diff -cNr octave-3.0.0/liboctave/mx-nda-i8.cc octave-3.0.1/liboctave/mx-nda-i8.cc *** octave-3.0.0/liboctave/mx-nda-i8.cc Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-nda-i8.cc Mon Apr 21 12:15:04 2008 *************** *** 6,12 **** --- 6,14 ---- #include "mx-nda-i8.h" #include "boolMatrix.h" #include "boolNDArray.h" + #include "int8NDArray.h" #include "dNDArray.h" #include "oct-inttypes.h" + NDS_BIN_OPS (int8NDArray, NDArray, octave_int8) NDS_CMP_OPS1 (NDArray, , octave_int8, , int8_t) NDS_BOOL_OPS2 (NDArray, octave_int8, 0.0, octave_int8(0)) diff -cNr octave-3.0.0/liboctave/mx-nda-i8.h octave-3.0.1/liboctave/mx-nda-i8.h *** octave-3.0.0/liboctave/mx-nda-i8.h Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-nda-i8.h Mon Apr 21 12:15:04 2008 *************** *** 1,9 **** --- 1,11 ---- // DO NOT EDIT -- generated by mk-ops #if !defined (octave_mx_nda_i8_h) #define octave_mx_nda_i8_h 1 + #include "int8NDArray.h" #include "dNDArray.h" #include "oct-inttypes.h" #include "mx-op-defs.h" + NDS_BIN_OP_DECLS (int8NDArray, NDArray, octave_int8, OCTAVE_API) NDS_CMP_OP_DECLS (NDArray, octave_int8, OCTAVE_API) NDS_BOOL_OP_DECLS (NDArray, octave_int8, OCTAVE_API) #endif diff -cNr octave-3.0.0/liboctave/mx-nda-i8nda.cc octave-3.0.1/liboctave/mx-nda-i8nda.cc *** octave-3.0.0/liboctave/mx-nda-i8nda.cc Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-nda-i8nda.cc Mon Apr 21 12:15:04 2008 *************** *** 6,12 **** #include "mx-nda-i8nda.h" #include "boolMatrix.h" #include "boolNDArray.h" - #include "dNDArray.h" #include "int8NDArray.h" NDND_CMP_OPS (NDArray, , int8NDArray, ) NDND_BOOL_OPS2 (NDArray, int8NDArray, 0.0, octave_int8(0)) --- 6,13 ---- #include "mx-nda-i8nda.h" #include "boolMatrix.h" #include "boolNDArray.h" #include "int8NDArray.h" + #include "dNDArray.h" + NDND_BIN_OPS (int8NDArray, NDArray, int8NDArray) NDND_CMP_OPS (NDArray, , int8NDArray, ) NDND_BOOL_OPS2 (NDArray, int8NDArray, 0.0, octave_int8(0)) diff -cNr octave-3.0.0/liboctave/mx-nda-i8nda.h octave-3.0.1/liboctave/mx-nda-i8nda.h *** octave-3.0.0/liboctave/mx-nda-i8nda.h Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-nda-i8nda.h Mon Apr 21 12:15:04 2008 *************** *** 1,9 **** // DO NOT EDIT -- generated by mk-ops #if !defined (octave_mx_nda_i8nda_h) #define octave_mx_nda_i8nda_h 1 - #include "dNDArray.h" #include "int8NDArray.h" #include "mx-op-defs.h" NDND_CMP_OP_DECLS (NDArray, int8NDArray, OCTAVE_API) NDND_BOOL_OP_DECLS (NDArray, int8NDArray, OCTAVE_API) #endif --- 1,10 ---- // DO NOT EDIT -- generated by mk-ops #if !defined (octave_mx_nda_i8nda_h) #define octave_mx_nda_i8nda_h 1 #include "int8NDArray.h" + #include "dNDArray.h" #include "mx-op-defs.h" + NDND_BIN_OP_DECLS (int8NDArray, NDArray, int8NDArray, OCTAVE_API) NDND_CMP_OP_DECLS (NDArray, int8NDArray, OCTAVE_API) NDND_BOOL_OP_DECLS (NDArray, int8NDArray, OCTAVE_API) #endif diff -cNr octave-3.0.0/liboctave/mx-nda-ui16.cc octave-3.0.1/liboctave/mx-nda-ui16.cc *** octave-3.0.0/liboctave/mx-nda-ui16.cc Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-nda-ui16.cc Mon Apr 21 12:15:04 2008 *************** *** 6,12 **** --- 6,14 ---- #include "mx-nda-ui16.h" #include "boolMatrix.h" #include "boolNDArray.h" + #include "uint16NDArray.h" #include "dNDArray.h" #include "oct-inttypes.h" + NDS_BIN_OPS (uint16NDArray, NDArray, octave_uint16) NDS_CMP_OPS1 (NDArray, , octave_uint16, , uint16_t) NDS_BOOL_OPS2 (NDArray, octave_uint16, 0.0, octave_uint16(0)) diff -cNr octave-3.0.0/liboctave/mx-nda-ui16.h octave-3.0.1/liboctave/mx-nda-ui16.h *** octave-3.0.0/liboctave/mx-nda-ui16.h Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-nda-ui16.h Mon Apr 21 12:15:04 2008 *************** *** 1,9 **** --- 1,11 ---- // DO NOT EDIT -- generated by mk-ops #if !defined (octave_mx_nda_ui16_h) #define octave_mx_nda_ui16_h 1 + #include "uint16NDArray.h" #include "dNDArray.h" #include "oct-inttypes.h" #include "mx-op-defs.h" + NDS_BIN_OP_DECLS (uint16NDArray, NDArray, octave_uint16, OCTAVE_API) NDS_CMP_OP_DECLS (NDArray, octave_uint16, OCTAVE_API) NDS_BOOL_OP_DECLS (NDArray, octave_uint16, OCTAVE_API) #endif diff -cNr octave-3.0.0/liboctave/mx-nda-ui16nda.cc octave-3.0.1/liboctave/mx-nda-ui16nda.cc *** octave-3.0.0/liboctave/mx-nda-ui16nda.cc Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-nda-ui16nda.cc Mon Apr 21 12:15:04 2008 *************** *** 6,12 **** #include "mx-nda-ui16nda.h" #include "boolMatrix.h" #include "boolNDArray.h" - #include "dNDArray.h" #include "uint16NDArray.h" NDND_CMP_OPS (NDArray, , uint16NDArray, ) NDND_BOOL_OPS2 (NDArray, uint16NDArray, 0.0, octave_uint16(0)) --- 6,13 ---- #include "mx-nda-ui16nda.h" #include "boolMatrix.h" #include "boolNDArray.h" #include "uint16NDArray.h" + #include "dNDArray.h" + NDND_BIN_OPS (uint16NDArray, NDArray, uint16NDArray) NDND_CMP_OPS (NDArray, , uint16NDArray, ) NDND_BOOL_OPS2 (NDArray, uint16NDArray, 0.0, octave_uint16(0)) diff -cNr octave-3.0.0/liboctave/mx-nda-ui16nda.h octave-3.0.1/liboctave/mx-nda-ui16nda.h *** octave-3.0.0/liboctave/mx-nda-ui16nda.h Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-nda-ui16nda.h Mon Apr 21 12:15:04 2008 *************** *** 1,9 **** // DO NOT EDIT -- generated by mk-ops #if !defined (octave_mx_nda_ui16nda_h) #define octave_mx_nda_ui16nda_h 1 - #include "dNDArray.h" #include "uint16NDArray.h" #include "mx-op-defs.h" NDND_CMP_OP_DECLS (NDArray, uint16NDArray, OCTAVE_API) NDND_BOOL_OP_DECLS (NDArray, uint16NDArray, OCTAVE_API) #endif --- 1,10 ---- // DO NOT EDIT -- generated by mk-ops #if !defined (octave_mx_nda_ui16nda_h) #define octave_mx_nda_ui16nda_h 1 #include "uint16NDArray.h" + #include "dNDArray.h" #include "mx-op-defs.h" + NDND_BIN_OP_DECLS (uint16NDArray, NDArray, uint16NDArray, OCTAVE_API) NDND_CMP_OP_DECLS (NDArray, uint16NDArray, OCTAVE_API) NDND_BOOL_OP_DECLS (NDArray, uint16NDArray, OCTAVE_API) #endif diff -cNr octave-3.0.0/liboctave/mx-nda-ui32.cc octave-3.0.1/liboctave/mx-nda-ui32.cc *** octave-3.0.0/liboctave/mx-nda-ui32.cc Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-nda-ui32.cc Mon Apr 21 12:15:04 2008 *************** *** 6,12 **** --- 6,14 ---- #include "mx-nda-ui32.h" #include "boolMatrix.h" #include "boolNDArray.h" + #include "uint32NDArray.h" #include "dNDArray.h" #include "oct-inttypes.h" + NDS_BIN_OPS (uint32NDArray, NDArray, octave_uint32) NDS_CMP_OPS1 (NDArray, , octave_uint32, , uint32_t) NDS_BOOL_OPS2 (NDArray, octave_uint32, 0.0, octave_uint32(0)) diff -cNr octave-3.0.0/liboctave/mx-nda-ui32.h octave-3.0.1/liboctave/mx-nda-ui32.h *** octave-3.0.0/liboctave/mx-nda-ui32.h Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-nda-ui32.h Mon Apr 21 12:15:04 2008 *************** *** 1,9 **** --- 1,11 ---- // DO NOT EDIT -- generated by mk-ops #if !defined (octave_mx_nda_ui32_h) #define octave_mx_nda_ui32_h 1 + #include "uint32NDArray.h" #include "dNDArray.h" #include "oct-inttypes.h" #include "mx-op-defs.h" + NDS_BIN_OP_DECLS (uint32NDArray, NDArray, octave_uint32, OCTAVE_API) NDS_CMP_OP_DECLS (NDArray, octave_uint32, OCTAVE_API) NDS_BOOL_OP_DECLS (NDArray, octave_uint32, OCTAVE_API) #endif diff -cNr octave-3.0.0/liboctave/mx-nda-ui32nda.cc octave-3.0.1/liboctave/mx-nda-ui32nda.cc *** octave-3.0.0/liboctave/mx-nda-ui32nda.cc Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-nda-ui32nda.cc Mon Apr 21 12:15:04 2008 *************** *** 6,12 **** #include "mx-nda-ui32nda.h" #include "boolMatrix.h" #include "boolNDArray.h" - #include "dNDArray.h" #include "uint32NDArray.h" NDND_CMP_OPS (NDArray, , uint32NDArray, ) NDND_BOOL_OPS2 (NDArray, uint32NDArray, 0.0, octave_uint32(0)) --- 6,13 ---- #include "mx-nda-ui32nda.h" #include "boolMatrix.h" #include "boolNDArray.h" #include "uint32NDArray.h" + #include "dNDArray.h" + NDND_BIN_OPS (uint32NDArray, NDArray, uint32NDArray) NDND_CMP_OPS (NDArray, , uint32NDArray, ) NDND_BOOL_OPS2 (NDArray, uint32NDArray, 0.0, octave_uint32(0)) diff -cNr octave-3.0.0/liboctave/mx-nda-ui32nda.h octave-3.0.1/liboctave/mx-nda-ui32nda.h *** octave-3.0.0/liboctave/mx-nda-ui32nda.h Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-nda-ui32nda.h Mon Apr 21 12:15:04 2008 *************** *** 1,9 **** // DO NOT EDIT -- generated by mk-ops #if !defined (octave_mx_nda_ui32nda_h) #define octave_mx_nda_ui32nda_h 1 - #include "dNDArray.h" #include "uint32NDArray.h" #include "mx-op-defs.h" NDND_CMP_OP_DECLS (NDArray, uint32NDArray, OCTAVE_API) NDND_BOOL_OP_DECLS (NDArray, uint32NDArray, OCTAVE_API) #endif --- 1,10 ---- // DO NOT EDIT -- generated by mk-ops #if !defined (octave_mx_nda_ui32nda_h) #define octave_mx_nda_ui32nda_h 1 #include "uint32NDArray.h" + #include "dNDArray.h" #include "mx-op-defs.h" + NDND_BIN_OP_DECLS (uint32NDArray, NDArray, uint32NDArray, OCTAVE_API) NDND_CMP_OP_DECLS (NDArray, uint32NDArray, OCTAVE_API) NDND_BOOL_OP_DECLS (NDArray, uint32NDArray, OCTAVE_API) #endif diff -cNr octave-3.0.0/liboctave/mx-nda-ui64.cc octave-3.0.1/liboctave/mx-nda-ui64.cc *** octave-3.0.0/liboctave/mx-nda-ui64.cc Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-nda-ui64.cc Mon Apr 21 12:15:04 2008 *************** *** 6,11 **** --- 6,12 ---- #include "mx-nda-ui64.h" #include "boolMatrix.h" #include "boolNDArray.h" + #include "uint64NDArray.h" #include "dNDArray.h" #include "oct-inttypes.h" NDS_CMP_OPS1 (NDArray, , octave_uint64, , uint64_t) diff -cNr octave-3.0.0/liboctave/mx-nda-ui64.h octave-3.0.1/liboctave/mx-nda-ui64.h *** octave-3.0.0/liboctave/mx-nda-ui64.h Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-nda-ui64.h Mon Apr 21 12:15:04 2008 *************** *** 1,6 **** --- 1,7 ---- // DO NOT EDIT -- generated by mk-ops #if !defined (octave_mx_nda_ui64_h) #define octave_mx_nda_ui64_h 1 + #include "uint64NDArray.h" #include "dNDArray.h" #include "oct-inttypes.h" #include "mx-op-defs.h" diff -cNr octave-3.0.0/liboctave/mx-nda-ui8.cc octave-3.0.1/liboctave/mx-nda-ui8.cc *** octave-3.0.0/liboctave/mx-nda-ui8.cc Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-nda-ui8.cc Mon Apr 21 12:15:04 2008 *************** *** 6,12 **** --- 6,14 ---- #include "mx-nda-ui8.h" #include "boolMatrix.h" #include "boolNDArray.h" + #include "uint8NDArray.h" #include "dNDArray.h" #include "oct-inttypes.h" + NDS_BIN_OPS (uint8NDArray, NDArray, octave_uint8) NDS_CMP_OPS1 (NDArray, , octave_uint8, , uint8_t) NDS_BOOL_OPS2 (NDArray, octave_uint8, 0.0, octave_uint8(0)) diff -cNr octave-3.0.0/liboctave/mx-nda-ui8.h octave-3.0.1/liboctave/mx-nda-ui8.h *** octave-3.0.0/liboctave/mx-nda-ui8.h Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-nda-ui8.h Mon Apr 21 12:15:04 2008 *************** *** 1,9 **** --- 1,11 ---- // DO NOT EDIT -- generated by mk-ops #if !defined (octave_mx_nda_ui8_h) #define octave_mx_nda_ui8_h 1 + #include "uint8NDArray.h" #include "dNDArray.h" #include "oct-inttypes.h" #include "mx-op-defs.h" + NDS_BIN_OP_DECLS (uint8NDArray, NDArray, octave_uint8, OCTAVE_API) NDS_CMP_OP_DECLS (NDArray, octave_uint8, OCTAVE_API) NDS_BOOL_OP_DECLS (NDArray, octave_uint8, OCTAVE_API) #endif diff -cNr octave-3.0.0/liboctave/mx-nda-ui8nda.cc octave-3.0.1/liboctave/mx-nda-ui8nda.cc *** octave-3.0.0/liboctave/mx-nda-ui8nda.cc Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-nda-ui8nda.cc Mon Apr 21 12:15:04 2008 *************** *** 6,12 **** #include "mx-nda-ui8nda.h" #include "boolMatrix.h" #include "boolNDArray.h" - #include "dNDArray.h" #include "uint8NDArray.h" NDND_CMP_OPS (NDArray, , uint8NDArray, ) NDND_BOOL_OPS2 (NDArray, uint8NDArray, 0.0, octave_uint8(0)) --- 6,13 ---- #include "mx-nda-ui8nda.h" #include "boolMatrix.h" #include "boolNDArray.h" #include "uint8NDArray.h" + #include "dNDArray.h" + NDND_BIN_OPS (uint8NDArray, NDArray, uint8NDArray) NDND_CMP_OPS (NDArray, , uint8NDArray, ) NDND_BOOL_OPS2 (NDArray, uint8NDArray, 0.0, octave_uint8(0)) diff -cNr octave-3.0.0/liboctave/mx-nda-ui8nda.h octave-3.0.1/liboctave/mx-nda-ui8nda.h *** octave-3.0.0/liboctave/mx-nda-ui8nda.h Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-nda-ui8nda.h Mon Apr 21 12:15:04 2008 *************** *** 1,9 **** // DO NOT EDIT -- generated by mk-ops #if !defined (octave_mx_nda_ui8nda_h) #define octave_mx_nda_ui8nda_h 1 - #include "dNDArray.h" #include "uint8NDArray.h" #include "mx-op-defs.h" NDND_CMP_OP_DECLS (NDArray, uint8NDArray, OCTAVE_API) NDND_BOOL_OP_DECLS (NDArray, uint8NDArray, OCTAVE_API) #endif --- 1,10 ---- // DO NOT EDIT -- generated by mk-ops #if !defined (octave_mx_nda_ui8nda_h) #define octave_mx_nda_ui8nda_h 1 #include "uint8NDArray.h" + #include "dNDArray.h" #include "mx-op-defs.h" + NDND_BIN_OP_DECLS (uint8NDArray, NDArray, uint8NDArray, OCTAVE_API) NDND_CMP_OP_DECLS (NDArray, uint8NDArray, OCTAVE_API) NDND_BOOL_OP_DECLS (NDArray, uint8NDArray, OCTAVE_API) #endif diff -cNr octave-3.0.0/liboctave/mx-ops octave-3.0.1/liboctave/mx-ops *** octave-3.0.0/liboctave/mx-ops Fri Oct 12 21:42:21 2007 --- octave-3.0.1/liboctave/mx-ops Mon Apr 21 12:00:19 2008 *************** *** 1,4 **** ! # Copyright (C) 2003, 2004, 2006, 2007 John W. Eaton # # This file is part of Octave. # --- 1,4 ---- ! # Copyright (C) 2003, 2004, 2006, 2007, 2008 John W. Eaton # # This file is part of Octave. # *************** *** 115,153 **** ui64nda s ui64nda CL NONE NONE boolMatrix.h boolNDArray.h ui64nda ui64nda s CL NONE NONE boolMatrix.h boolNDArray.h # ! x nda i8 CL NONE NONE boolMatrix.h boolNDArray.h ! x i8 nda CL NONE NONE boolMatrix.h boolNDArray.h ! x nda ui8 CL NONE NONE boolMatrix.h boolNDArray.h ! x ui8 nda CL NONE NONE boolMatrix.h boolNDArray.h ! x nda i16 CL NONE NONE boolMatrix.h boolNDArray.h ! x i16 nda CL NONE NONE boolMatrix.h boolNDArray.h ! x nda ui16 CL NONE NONE boolMatrix.h boolNDArray.h ! x ui16 nda CL NONE NONE boolMatrix.h boolNDArray.h ! x nda i32 CL NONE NONE boolMatrix.h boolNDArray.h ! x i32 nda CL NONE NONE boolMatrix.h boolNDArray.h ! x nda ui32 CL NONE NONE boolMatrix.h boolNDArray.h ! x ui32 nda CL NONE NONE boolMatrix.h boolNDArray.h ! x nda i64 CL NONE NONE boolMatrix.h boolNDArray.h ! x i64 nda CL NONE NONE boolMatrix.h boolNDArray.h ! x nda ui64 CL NONE NONE boolMatrix.h boolNDArray.h ! x ui64 nda CL NONE NONE boolMatrix.h boolNDArray.h ! # ! x nda i8nda CL NONE NONE boolMatrix.h boolNDArray.h ! x i8nda nda CL NONE NONE boolMatrix.h boolNDArray.h ! x nda ui8nda CL NONE NONE boolMatrix.h boolNDArray.h ! x ui8nda nda CL NONE NONE boolMatrix.h boolNDArray.h ! x nda i16nda CL NONE NONE boolMatrix.h boolNDArray.h ! x i16nda nda CL NONE NONE boolMatrix.h boolNDArray.h ! x nda ui16nda CL NONE NONE boolMatrix.h boolNDArray.h ! x ui16nda nda CL NONE NONE boolMatrix.h boolNDArray.h ! x nda i32nda CL NONE NONE boolMatrix.h boolNDArray.h ! x i32nda nda CL NONE NONE boolMatrix.h boolNDArray.h ! x nda ui32nda CL NONE NONE boolMatrix.h boolNDArray.h ! x ui32nda nda CL NONE NONE boolMatrix.h boolNDArray.h ! x nda i64nda CL NONE NONE boolMatrix.h boolNDArray.h ! x i64nda nda CL NONE NONE boolMatrix.h boolNDArray.h ! x nda ui64nda CL NONE NONE boolMatrix.h boolNDArray.h ! x ui64nda nda CL NONE NONE boolMatrix.h boolNDArray.h # x i8nda ui8 CL NONE NONE boolMatrix.h boolNDArray.h x i8nda i16 CL NONE NONE boolMatrix.h boolNDArray.h --- 115,153 ---- ui64nda s ui64nda CL NONE NONE boolMatrix.h boolNDArray.h ui64nda ui64nda s CL NONE NONE boolMatrix.h boolNDArray.h # ! i8nda nda i8 BCL NONE NONE boolMatrix.h boolNDArray.h ! i8nda i8 nda BCL NONE NONE boolMatrix.h boolNDArray.h ! ui8nda nda ui8 BCL NONE NONE boolMatrix.h boolNDArray.h ! ui8nda ui8 nda BCL NONE NONE boolMatrix.h boolNDArray.h ! i16nda nda i16 BCL NONE NONE boolMatrix.h boolNDArray.h ! i16nda i16 nda BCL NONE NONE boolMatrix.h boolNDArray.h ! ui16nda nda ui16 BCL NONE NONE boolMatrix.h boolNDArray.h ! ui16nda ui16 nda BCL NONE NONE boolMatrix.h boolNDArray.h ! i32nda nda i32 BCL NONE NONE boolMatrix.h boolNDArray.h ! i32nda i32 nda BCL NONE NONE boolMatrix.h boolNDArray.h ! ui32nda nda ui32 BCL NONE NONE boolMatrix.h boolNDArray.h ! ui32nda ui32 nda BCL NONE NONE boolMatrix.h boolNDArray.h ! i64nda nda i64 CL NONE NONE boolMatrix.h boolNDArray.h ! i64nda i64 nda CL NONE NONE boolMatrix.h boolNDArray.h ! ui64nda nda ui64 CL NONE NONE boolMatrix.h boolNDArray.h ! ui64nda ui64 nda CL NONE NONE boolMatrix.h boolNDArray.h ! # ! i8nda nda i8nda BCL NONE NONE boolMatrix.h boolNDArray.h ! i8nda i8nda nda BCL NONE NONE boolMatrix.h boolNDArray.h ! ui8nda nda ui8nda BCL NONE NONE boolMatrix.h boolNDArray.h ! ui8nda ui8nda nda BCL NONE NONE boolMatrix.h boolNDArray.h ! i16nda nda i16nda BCL NONE NONE boolMatrix.h boolNDArray.h ! i16nda i16nda nda BCL NONE NONE boolMatrix.h boolNDArray.h ! ui16nda nda ui16nda BCL NONE NONE boolMatrix.h boolNDArray.h ! ui16nda ui16nda nda BCL NONE NONE boolMatrix.h boolNDArray.h ! i32nda nda i32nda BCL NONE NONE boolMatrix.h boolNDArray.h ! i32nda i32nda nda BCL NONE NONE boolMatrix.h boolNDArray.h ! ui32nda nda ui32nda BCL NONE NONE boolMatrix.h boolNDArray.h ! ui32nda ui32nda nda BCL NONE NONE boolMatrix.h boolNDArray.h ! i64nda nda i64nda CL NONE NONE boolMatrix.h boolNDArray.h ! i64nda i64nda nda CL NONE NONE boolMatrix.h boolNDArray.h ! ui6nda nda ui64nda CL NONE NONE boolMatrix.h boolNDArray.h ! ui64nda ui64nda nda CL NONE NONE boolMatrix.h boolNDArray.h # x i8nda ui8 CL NONE NONE boolMatrix.h boolNDArray.h x i8nda i16 CL NONE NONE boolMatrix.h boolNDArray.h diff -cNr octave-3.0.0/liboctave/mx-ui16-nda.cc octave-3.0.1/liboctave/mx-ui16-nda.cc *** octave-3.0.0/liboctave/mx-ui16-nda.cc Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-ui16-nda.cc Mon Apr 21 12:15:04 2008 *************** *** 6,12 **** --- 6,14 ---- #include "mx-ui16-nda.h" #include "boolMatrix.h" #include "boolNDArray.h" + #include "uint16NDArray.h" #include "oct-inttypes.h" #include "dNDArray.h" + SND_BIN_OPS (uint16NDArray, octave_uint16, NDArray) SND_CMP_OPS1 (octave_uint16, , NDArray, , uint16_t) SND_BOOL_OPS2 (octave_uint16, NDArray, octave_uint16(0), 0.0) diff -cNr octave-3.0.0/liboctave/mx-ui16-nda.h octave-3.0.1/liboctave/mx-ui16-nda.h *** octave-3.0.0/liboctave/mx-ui16-nda.h Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-ui16-nda.h Mon Apr 21 12:15:04 2008 *************** *** 1,9 **** --- 1,11 ---- // DO NOT EDIT -- generated by mk-ops #if !defined (octave_mx_ui16_nda_h) #define octave_mx_ui16_nda_h 1 + #include "uint16NDArray.h" #include "oct-inttypes.h" #include "dNDArray.h" #include "mx-op-defs.h" + SND_BIN_OP_DECLS (uint16NDArray, octave_uint16, NDArray, OCTAVE_API) SND_CMP_OP_DECLS (octave_uint16, NDArray, OCTAVE_API) SND_BOOL_OP_DECLS (octave_uint16, NDArray, OCTAVE_API) #endif diff -cNr octave-3.0.0/liboctave/mx-ui16nda-nda.cc octave-3.0.1/liboctave/mx-ui16nda-nda.cc *** octave-3.0.0/liboctave/mx-ui16nda-nda.cc Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-ui16nda-nda.cc Mon Apr 21 12:15:04 2008 *************** *** 8,12 **** --- 8,13 ---- #include "boolNDArray.h" #include "uint16NDArray.h" #include "dNDArray.h" + NDND_BIN_OPS (uint16NDArray, uint16NDArray, NDArray) NDND_CMP_OPS (uint16NDArray, , NDArray, ) NDND_BOOL_OPS2 (uint16NDArray, NDArray, octave_uint16(0), 0.0) diff -cNr octave-3.0.0/liboctave/mx-ui16nda-nda.h octave-3.0.1/liboctave/mx-ui16nda-nda.h *** octave-3.0.0/liboctave/mx-ui16nda-nda.h Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-ui16nda-nda.h Mon Apr 21 12:15:04 2008 *************** *** 4,9 **** --- 4,10 ---- #include "uint16NDArray.h" #include "dNDArray.h" #include "mx-op-defs.h" + NDND_BIN_OP_DECLS (uint16NDArray, uint16NDArray, NDArray, OCTAVE_API) NDND_CMP_OP_DECLS (uint16NDArray, NDArray, OCTAVE_API) NDND_BOOL_OP_DECLS (uint16NDArray, NDArray, OCTAVE_API) #endif diff -cNr octave-3.0.0/liboctave/mx-ui32-nda.cc octave-3.0.1/liboctave/mx-ui32-nda.cc *** octave-3.0.0/liboctave/mx-ui32-nda.cc Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-ui32-nda.cc Mon Apr 21 12:15:04 2008 *************** *** 6,12 **** --- 6,14 ---- #include "mx-ui32-nda.h" #include "boolMatrix.h" #include "boolNDArray.h" + #include "uint32NDArray.h" #include "oct-inttypes.h" #include "dNDArray.h" + SND_BIN_OPS (uint32NDArray, octave_uint32, NDArray) SND_CMP_OPS1 (octave_uint32, , NDArray, , uint32_t) SND_BOOL_OPS2 (octave_uint32, NDArray, octave_uint32(0), 0.0) diff -cNr octave-3.0.0/liboctave/mx-ui32-nda.h octave-3.0.1/liboctave/mx-ui32-nda.h *** octave-3.0.0/liboctave/mx-ui32-nda.h Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-ui32-nda.h Mon Apr 21 12:15:04 2008 *************** *** 1,9 **** --- 1,11 ---- // DO NOT EDIT -- generated by mk-ops #if !defined (octave_mx_ui32_nda_h) #define octave_mx_ui32_nda_h 1 + #include "uint32NDArray.h" #include "oct-inttypes.h" #include "dNDArray.h" #include "mx-op-defs.h" + SND_BIN_OP_DECLS (uint32NDArray, octave_uint32, NDArray, OCTAVE_API) SND_CMP_OP_DECLS (octave_uint32, NDArray, OCTAVE_API) SND_BOOL_OP_DECLS (octave_uint32, NDArray, OCTAVE_API) #endif diff -cNr octave-3.0.0/liboctave/mx-ui32nda-nda.cc octave-3.0.1/liboctave/mx-ui32nda-nda.cc *** octave-3.0.0/liboctave/mx-ui32nda-nda.cc Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-ui32nda-nda.cc Mon Apr 21 12:15:04 2008 *************** *** 8,12 **** --- 8,13 ---- #include "boolNDArray.h" #include "uint32NDArray.h" #include "dNDArray.h" + NDND_BIN_OPS (uint32NDArray, uint32NDArray, NDArray) NDND_CMP_OPS (uint32NDArray, , NDArray, ) NDND_BOOL_OPS2 (uint32NDArray, NDArray, octave_uint32(0), 0.0) diff -cNr octave-3.0.0/liboctave/mx-ui32nda-nda.h octave-3.0.1/liboctave/mx-ui32nda-nda.h *** octave-3.0.0/liboctave/mx-ui32nda-nda.h Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-ui32nda-nda.h Mon Apr 21 12:15:04 2008 *************** *** 4,9 **** --- 4,10 ---- #include "uint32NDArray.h" #include "dNDArray.h" #include "mx-op-defs.h" + NDND_BIN_OP_DECLS (uint32NDArray, uint32NDArray, NDArray, OCTAVE_API) NDND_CMP_OP_DECLS (uint32NDArray, NDArray, OCTAVE_API) NDND_BOOL_OP_DECLS (uint32NDArray, NDArray, OCTAVE_API) #endif diff -cNr octave-3.0.0/liboctave/mx-ui64-nda.cc octave-3.0.1/liboctave/mx-ui64-nda.cc *** octave-3.0.0/liboctave/mx-ui64-nda.cc Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-ui64-nda.cc Mon Apr 21 12:15:04 2008 *************** *** 6,11 **** --- 6,12 ---- #include "mx-ui64-nda.h" #include "boolMatrix.h" #include "boolNDArray.h" + #include "uint64NDArray.h" #include "oct-inttypes.h" #include "dNDArray.h" SND_CMP_OPS1 (octave_uint64, , NDArray, , uint64_t) diff -cNr octave-3.0.0/liboctave/mx-ui64-nda.h octave-3.0.1/liboctave/mx-ui64-nda.h *** octave-3.0.0/liboctave/mx-ui64-nda.h Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-ui64-nda.h Mon Apr 21 12:15:04 2008 *************** *** 1,6 **** --- 1,7 ---- // DO NOT EDIT -- generated by mk-ops #if !defined (octave_mx_ui64_nda_h) #define octave_mx_ui64_nda_h 1 + #include "uint64NDArray.h" #include "oct-inttypes.h" #include "dNDArray.h" #include "mx-op-defs.h" diff -cNr octave-3.0.0/liboctave/mx-ui8-nda.cc octave-3.0.1/liboctave/mx-ui8-nda.cc *** octave-3.0.0/liboctave/mx-ui8-nda.cc Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-ui8-nda.cc Mon Apr 21 12:15:04 2008 *************** *** 6,12 **** --- 6,14 ---- #include "mx-ui8-nda.h" #include "boolMatrix.h" #include "boolNDArray.h" + #include "uint8NDArray.h" #include "oct-inttypes.h" #include "dNDArray.h" + SND_BIN_OPS (uint8NDArray, octave_uint8, NDArray) SND_CMP_OPS1 (octave_uint8, , NDArray, , uint8_t) SND_BOOL_OPS2 (octave_uint8, NDArray, octave_uint8(0), 0.0) diff -cNr octave-3.0.0/liboctave/mx-ui8-nda.h octave-3.0.1/liboctave/mx-ui8-nda.h *** octave-3.0.0/liboctave/mx-ui8-nda.h Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-ui8-nda.h Mon Apr 21 12:15:04 2008 *************** *** 1,9 **** --- 1,11 ---- // DO NOT EDIT -- generated by mk-ops #if !defined (octave_mx_ui8_nda_h) #define octave_mx_ui8_nda_h 1 + #include "uint8NDArray.h" #include "oct-inttypes.h" #include "dNDArray.h" #include "mx-op-defs.h" + SND_BIN_OP_DECLS (uint8NDArray, octave_uint8, NDArray, OCTAVE_API) SND_CMP_OP_DECLS (octave_uint8, NDArray, OCTAVE_API) SND_BOOL_OP_DECLS (octave_uint8, NDArray, OCTAVE_API) #endif diff -cNr octave-3.0.0/liboctave/mx-ui8nda-nda.cc octave-3.0.1/liboctave/mx-ui8nda-nda.cc *** octave-3.0.0/liboctave/mx-ui8nda-nda.cc Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-ui8nda-nda.cc Mon Apr 21 12:15:04 2008 *************** *** 8,12 **** --- 8,13 ---- #include "boolNDArray.h" #include "uint8NDArray.h" #include "dNDArray.h" + NDND_BIN_OPS (uint8NDArray, uint8NDArray, NDArray) NDND_CMP_OPS (uint8NDArray, , NDArray, ) NDND_BOOL_OPS2 (uint8NDArray, NDArray, octave_uint8(0), 0.0) diff -cNr octave-3.0.0/liboctave/mx-ui8nda-nda.h octave-3.0.1/liboctave/mx-ui8nda-nda.h *** octave-3.0.0/liboctave/mx-ui8nda-nda.h Thu Dec 20 15:32:01 2007 --- octave-3.0.1/liboctave/mx-ui8nda-nda.h Mon Apr 21 12:15:04 2008 *************** *** 4,9 **** --- 4,10 ---- #include "uint8NDArray.h" #include "dNDArray.h" #include "mx-op-defs.h" + NDND_BIN_OP_DECLS (uint8NDArray, uint8NDArray, NDArray, OCTAVE_API) NDND_CMP_OP_DECLS (uint8NDArray, NDArray, OCTAVE_API) NDND_BOOL_OP_DECLS (uint8NDArray, NDArray, OCTAVE_API) #endif diff -cNr octave-3.0.0/liboctave/oct-inttypes.h octave-3.0.1/liboctave/oct-inttypes.h *** octave-3.0.0/liboctave/oct-inttypes.h Mon Nov 26 22:06:10 2007 --- octave-3.0.1/liboctave/oct-inttypes.h Mon Apr 21 12:00:19 2008 *************** *** 1,6 **** /* ! Copyright (C) 2004, 2005, 2006, 2007 John W. Eaton This file is part of Octave. --- 1,6 ---- /* ! Copyright (C) 2004, 2005, 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 128,133 **** --- 128,140 ---- return (x > mx ? mx : (x < mn ? mn : T2 (x))); } + template + inline T + octave_int_fit_to_range (const double& x, const T& mn, const T& mx) + { + return (lo_ieee_isnan (x) ? 0 : (x > mx ? mx : (x < mn ? mn : static_cast (x)))); + } + // If X is unsigned and the new type is signed, then we only have to // check the upper limit, but we should cast the maximum value of the // new type to an unsigned type before performing the comparison. diff -cNr octave-3.0.0/liboctave/oct-rand.cc octave-3.0.1/liboctave/oct-rand.cc *** octave-3.0.0/liboctave/oct-rand.cc Fri Oct 12 17:27:16 2007 --- octave-3.0.1/liboctave/oct-rand.cc Mon Apr 21 12:00:20 2008 *************** *** 1,6 **** /* ! Copyright (C) 2003, 2005, 2006, 2007 John W. Eaton This file is part of Octave. --- 1,6 ---- /* ! Copyright (C) 2003, 2005, 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 23,28 **** --- 23,30 ---- #ifdef HAVE_CONFIG_H #include #endif + + #include #include #include "f77-fcn.h" *************** *** 37,49 **** #include "randgamma.h" #include "mach-info.h" ! // Possible distributions of random numbers. This was handled with an ! // enum, but unwind_protecting that doesn't work so well. ! #define uniform_dist 1 ! #define normal_dist 2 ! #define expon_dist 3 ! #define poisson_dist 4 ! #define gamma_dist 5 // Current distribution of random numbers. static int current_distribution = uniform_dist; --- 39,50 ---- #include "randgamma.h" #include "mach-info.h" ! static const int unknown_dist = 0; ! static const int uniform_dist = 1; ! static const int normal_dist = 2; ! static const int expon_dist = 3; ! static const int poisson_dist = 4; ! static const int gamma_dist = 5; // Current distribution of random numbers. static int current_distribution = uniform_dist; *************** *** 53,58 **** --- 54,61 ---- static bool new_initialized = false; static bool use_old_generators = false; + std::map rand_states; + extern "C" { F77_RET_T *************** *** 126,131 **** --- 129,174 ---- old_initialized = true; } + static ColumnVector + get_internal_state (void) + { + ColumnVector s (MT_N + 1); + + OCTAVE_LOCAL_BUFFER (uint32_t, tmp, MT_N + 1); + + oct_get_state (tmp); + + for (octave_idx_type i = 0; i <= MT_N; i++) + s.elem (i) = static_cast (tmp [i]); + + return s; + } + + static inline void + save_state (void) + { + rand_states[current_distribution] = get_internal_state ();; + } + + static void + initialize_rand_states (void) + { + if (! new_initialized) + { + oct_init_by_entropy (); + + ColumnVector s = get_internal_state (); + + rand_states[uniform_dist] = s; + rand_states[normal_dist] = s; + rand_states[expon_dist] = s; + rand_states[poisson_dist] = s; + rand_states[gamma_dist] = s; + + new_initialized = true; + } + } + static inline void maybe_initialize (void) { *************** *** 137,146 **** else { if (! new_initialized) ! { ! oct_init_by_entropy (); ! new_initialized = true; ! } } } --- 180,236 ---- else { if (! new_initialized) ! initialize_rand_states (); ! } ! } ! ! static int ! get_dist_id (const std::string& d) ! { ! int retval = unknown_dist; ! ! if (d == "uniform" || d == "rand") ! retval = uniform_dist; ! else if (d == "normal" || d == "randn") ! retval = normal_dist; ! else if (d == "exponential" || d == "rande") ! retval = expon_dist; ! else if (d == "poisson" || d == "randp") ! retval = poisson_dist; ! else if (d == "gamma" || d == "randg") ! retval = gamma_dist; ! else ! (*current_liboctave_error_handler) ! ("rand: invalid distribution `%s'", d.c_str ()); ! ! return retval; ! } ! ! static void ! set_internal_state (const ColumnVector& s) ! { ! octave_idx_type len = s.length (); ! octave_idx_type n = len < MT_N + 1 ? len : MT_N + 1; ! ! OCTAVE_LOCAL_BUFFER (uint32_t, tmp, MT_N + 1); ! ! for (octave_idx_type i = 0; i < n; i++) ! tmp[i] = static_cast (s.elem(i)); ! ! if (len == MT_N + 1 && tmp[MT_N] <= MT_N && tmp[MT_N] > 0) ! oct_set_state (tmp); ! else ! oct_init_by_array (tmp, len); ! } ! ! static inline void ! switch_to_generator (int dist) ! { ! if (dist != current_distribution) ! { ! current_distribution = dist; ! ! set_internal_state (rand_states[dist]); } } *************** *** 172,177 **** --- 262,268 ---- octave_rand::seed (double s) { use_old_generators = true; + maybe_initialize (); int i0, i1; *************** *** 197,273 **** } ColumnVector ! octave_rand::state (void) { - ColumnVector s (MT_N + 1); if (! new_initialized) ! { ! oct_init_by_entropy (); ! new_initialized = true; ! } ! OCTAVE_LOCAL_BUFFER (uint32_t, tmp, MT_N + 1); ! oct_get_state (tmp); ! for (octave_idx_type i = 0; i <= MT_N; i++) ! s.elem (i) = static_cast(tmp [i]); ! return s; } void ! octave_rand::state (const ColumnVector &s) { use_old_generators = false; maybe_initialize (); ! octave_idx_type len = s.length(); ! octave_idx_type n = len < MT_N + 1 ? len : MT_N + 1; ! OCTAVE_LOCAL_BUFFER (uint32_t, tmp, MT_N + 1); ! for (octave_idx_type i = 0; i < n; i++) ! tmp[i] = static_cast (s.elem(i)); ! if (len == MT_N + 1 && tmp[MT_N] <= MT_N && tmp[MT_N] > 0) ! oct_set_state (tmp); ! else ! oct_init_by_array (tmp, len); } std::string octave_rand::distribution (void) { maybe_initialize (); ! if (current_distribution == uniform_dist) ! return "uniform"; ! else if (current_distribution == normal_dist) ! return "normal"; ! else if (current_distribution == expon_dist) ! return "exponential"; ! else if (current_distribution == poisson_dist) ! return "poisson"; ! else if (current_distribution == gamma_dist) ! return "gamma"; ! else { ! abort (); ! return ""; } } void octave_rand::distribution (const std::string& d) { ! if (d == "uniform") ! octave_rand::uniform_distribution (); ! else if (d == "normal") ! octave_rand::normal_distribution (); ! else if (d == "exponential") ! octave_rand::exponential_distribution (); ! else if (d == "poisson") ! octave_rand::poisson_distribution (); ! else if (d == "gamma") ! octave_rand::gamma_distribution (); ! else ! (*current_liboctave_error_handler) ("rand: invalid distribution"); } void --- 288,395 ---- } ColumnVector ! octave_rand::state (const std::string& d) { if (! new_initialized) ! initialize_rand_states (); ! return rand_states[d.empty () ? current_distribution : get_dist_id (d)]; } void ! octave_rand::state (const ColumnVector& s, const std::string& d) { use_old_generators = false; + maybe_initialize (); ! int old_dist = current_distribution; ! int new_dist = d.empty () ? current_distribution : get_dist_id (d); ! ! ColumnVector saved_state; ! ! if (old_dist != new_dist) ! saved_state = get_internal_state (); ! ! set_internal_state (s); ! ! rand_states[new_dist] = get_internal_state (); ! ! if (old_dist != new_dist) ! rand_states[old_dist] = saved_state; } std::string octave_rand::distribution (void) { + std::string retval; + maybe_initialize (); ! switch (current_distribution) { ! case uniform_dist: ! retval = "uniform"; ! break; ! ! case normal_dist: ! retval = "normal"; ! break; ! ! case expon_dist: ! retval = "exponential"; ! break; ! ! case poisson_dist: ! retval = "poisson"; ! break; ! ! case gamma_dist: ! retval = "gamma"; ! break; ! ! default: ! (*current_liboctave_error_handler) ! ("rand: invalid distribution ID = %d", current_distribution); ! break; } + + return retval; } void octave_rand::distribution (const std::string& d) { ! int id = get_dist_id (d); ! ! switch (id) ! { ! case uniform_dist: ! octave_rand::uniform_distribution (); ! break; ! ! case normal_dist: ! octave_rand::normal_distribution (); ! break; ! ! case expon_dist: ! octave_rand::exponential_distribution (); ! break; ! ! case poisson_dist: ! octave_rand::poisson_distribution (); ! break; ! ! case gamma_dist: ! octave_rand::gamma_distribution (); ! break; ! ! default: ! (*current_liboctave_error_handler) ! ("rand: invalid distribution ID = %d", id); ! break; ! } } void *************** *** 275,281 **** { maybe_initialize (); ! current_distribution = uniform_dist; F77_FUNC (setcgn, SETCGN) (uniform_dist); } --- 397,403 ---- { maybe_initialize (); ! switch_to_generator (uniform_dist); F77_FUNC (setcgn, SETCGN) (uniform_dist); } *************** *** 285,291 **** { maybe_initialize (); ! current_distribution = normal_dist; F77_FUNC (setcgn, SETCGN) (normal_dist); } --- 407,413 ---- { maybe_initialize (); ! switch_to_generator (normal_dist); F77_FUNC (setcgn, SETCGN) (normal_dist); } *************** *** 295,301 **** { maybe_initialize (); ! current_distribution = expon_dist; F77_FUNC (setcgn, SETCGN) (expon_dist); } --- 417,423 ---- { maybe_initialize (); ! switch_to_generator (expon_dist); F77_FUNC (setcgn, SETCGN) (expon_dist); } *************** *** 305,311 **** { maybe_initialize (); ! current_distribution = poisson_dist; F77_FUNC (setcgn, SETCGN) (poisson_dist); } --- 427,433 ---- { maybe_initialize (); ! switch_to_generator (poisson_dist); F77_FUNC (setcgn, SETCGN) (poisson_dist); } *************** *** 315,321 **** { maybe_initialize (); ! current_distribution = gamma_dist; F77_FUNC (setcgn, SETCGN) (gamma_dist); } --- 437,443 ---- { maybe_initialize (); ! switch_to_generator (gamma_dist); F77_FUNC (setcgn, SETCGN) (gamma_dist); } *************** *** 363,369 **** break; default: ! abort (); break; } } --- 485,492 ---- break; default: ! (*current_liboctave_error_handler) ! ("rand: invalid distribution ID = %d", current_distribution); break; } } *************** *** 372,400 **** switch (current_distribution) { case uniform_dist: ! retval = oct_randu(); break; case normal_dist: ! retval = oct_randn(); break; case expon_dist: ! retval = oct_rande(); break; case poisson_dist: ! retval = oct_randp(a); break; case gamma_dist: ! retval = oct_randg(a); break; default: ! abort (); break; } } return retval; --- 495,526 ---- switch (current_distribution) { case uniform_dist: ! retval = oct_randu (); break; case normal_dist: ! retval = oct_randn (); break; case expon_dist: ! retval = oct_rande (); break; case poisson_dist: ! retval = oct_randp (a); break; case gamma_dist: ! retval = oct_randg (a); break; default: ! (*current_liboctave_error_handler) ! ("rand: invalid distribution ID = %d", current_distribution); break; } + + save_state (); } return retval; *************** *** 494,503 **** break; default: ! abort (); break; } return; } --- 620,632 ---- break; default: ! (*current_liboctave_error_handler) ! ("rand: invalid distribution ID = %d", current_distribution); break; } + save_state (); + return; } diff -cNr octave-3.0.0/liboctave/oct-rand.h octave-3.0.1/liboctave/oct-rand.h *** octave-3.0.0/liboctave/oct-rand.h Fri Oct 12 17:27:16 2007 --- octave-3.0.1/liboctave/oct-rand.h Mon Apr 21 12:00:20 2008 *************** *** 1,6 **** /* ! Copyright (C) 2003, 2005, 2006, 2007 John W. Eaton This file is part of Octave. --- 1,6 ---- /* ! Copyright (C) 2003, 2005, 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 40,55 **** static void seed (double s); // Return the current state. ! static ColumnVector state (void); // Set the current state/ ! static void state (const ColumnVector &s); // Return the current distribution. static std::string distribution (void); // Set the current distribution. May be either "uniform" (the ! // default) or "normal". static void distribution (const std::string& d); static void uniform_distribution (void); --- 40,56 ---- static void seed (double s); // Return the current state. ! static ColumnVector state (const std::string& d = std::string ()); // Set the current state/ ! static void state (const ColumnVector &s, ! const std::string& d = std::string ()); // Return the current distribution. static std::string distribution (void); // Set the current distribution. May be either "uniform" (the ! // default), "normal", "exponential", "poisson", or "gamma". static void distribution (const std::string& d); static void uniform_distribution (void); diff -cNr octave-3.0.0/liboctave/oct-time.cc octave-3.0.1/liboctave/oct-time.cc *** octave-3.0.0/liboctave/oct-time.cc Mon Dec 10 01:26:20 2007 --- octave-3.0.1/liboctave/oct-time.cc Mon Apr 21 12:00:20 2008 *************** *** 1,6 **** /* ! Copyright (C) 1999, 2000, 2002, 2005, 2006, 2007 John W. Eaton This file is part of Octave. --- 1,6 ---- /* ! Copyright (C) 1999, 2000, 2002, 2005, 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 291,296 **** --- 291,299 ---- void octave_base_tm::init (void *p) { + if (! p) + return; + struct tm *t = static_cast (p); tm_sec = t->tm_sec; diff -cNr octave-3.0.0/liboctave/randmtzig.c octave-3.0.1/liboctave/randmtzig.c *** octave-3.0.0/liboctave/randmtzig.c Fri Nov 30 13:53:30 2007 --- octave-3.0.1/liboctave/randmtzig.c Mon Apr 21 12:00:20 2008 *************** *** 1,6 **** /* ! Copyright (C) 2006, 2007 John W. Eaton This file is part of Octave. --- 1,6 ---- /* ! Copyright (C) 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 203,209 **** /* init_key is the array for initializing keys */ /* key_length is its length */ void ! oct_init_by_array (uint32_t init_key[], int key_length) { int i, j, k; oct_init_by_int (19650218UL); --- 203,209 ---- /* init_key is the array for initializing keys */ /* key_length is its length */ void ! oct_init_by_array (uint32_t *init_key, int key_length) { int i, j, k; oct_init_by_int (19650218UL); *************** *** 281,297 **** } void ! oct_set_state (uint32_t save[]) { int i; ! for (i=0; i < MT_N; i++) state[i] = save[i]; left = save[MT_N]; next = state + (MT_N - left + 1); } void ! oct_get_state (uint32_t save[]) { int i; for (i = 0; i < MT_N; i++) --- 281,297 ---- } void ! oct_set_state (uint32_t *save) { int i; ! for (i = 0; i < MT_N; i++) state[i] = save[i]; left = save[MT_N]; next = state + (MT_N - left + 1); } void ! oct_get_state (uint32_t *save) { int i; for (i = 0; i < MT_N; i++) diff -cNr octave-3.0.0/liboctave/sparse-base-chol.cc octave-3.0.1/liboctave/sparse-base-chol.cc *** octave-3.0.0/liboctave/sparse-base-chol.cc Wed Oct 17 15:02:11 2007 --- octave-3.0.1/liboctave/sparse-base-chol.cc Mon Apr 21 12:00:20 2008 *************** *** 1,6 **** /* ! Copyright (C) 2005, 2006, 2007 David Bateman Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Andy Adler This file is part of Octave. --- 1,6 ---- /* ! Copyright (C) 2005, 2006, 2007, 2008 David Bateman Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Andy Adler This file is part of Octave. *************** *** 165,209 **** BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; Lfactor = CHOLMOD_NAME(analyze) (ac, cm); CHOLMOD_NAME(factorize) (ac, Lfactor, cm); - cond = CHOLMOD_NAME(rcond) (Lfactor, cm); END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; - minor_p = Lfactor->minor; is_pd = cm->status == CHOLMOD_OK; info = (is_pd ? 0 : cm->status); ! BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; ! Lsparse = CHOLMOD_NAME(factor_to_sparse) (Lfactor, cm); ! END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; ! ! if (minor_p > 0 && minor_p < a_nr) { - size_t n1 = a_nr + 1; - Lsparse->p = CHOLMOD_NAME(realloc) (minor_p+1, sizeof(octave_idx_type), - Lsparse->p, &n1, cm); BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; ! CHOLMOD_NAME(reallocate_sparse) ! (static_cast(Lsparse->p)[minor_p], Lsparse, cm); END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; - Lsparse->ncol = minor_p; - } ! drop_zeros (Lsparse); ! if (! natural) ! { ! perms.resize (a_nr); ! for (octave_idx_type i = 0; i < a_nr; i++) ! perms(i) = static_cast(Lfactor->Perm)[i]; ! } ! static char tmp[] = " "; ! BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; ! CHOLMOD_NAME(free_factor) (&Lfactor, cm); ! CHOLMOD_NAME(finish) (cm); ! CHOLMOD_NAME(print_common) (tmp, cm); ! END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; #else (*current_liboctave_error_handler) ("Missing CHOLMOD. Sparse cholesky factorization disabled"); --- 165,217 ---- BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; Lfactor = CHOLMOD_NAME(analyze) (ac, cm); CHOLMOD_NAME(factorize) (ac, Lfactor, cm); END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; is_pd = cm->status == CHOLMOD_OK; info = (is_pd ? 0 : cm->status); ! if (is_pd) { BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; ! cond = CHOLMOD_NAME(rcond) (Lfactor, cm); END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; ! minor_p = Lfactor->minor; ! BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; ! Lsparse = CHOLMOD_NAME(factor_to_sparse) (Lfactor, cm); ! END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; ! ! if (minor_p > 0 && minor_p < a_nr) ! { ! size_t n1 = a_nr + 1; ! Lsparse->p = CHOLMOD_NAME(realloc) (minor_p+1, ! sizeof(octave_idx_type), ! Lsparse->p, &n1, cm); ! BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; ! CHOLMOD_NAME(reallocate_sparse) ! (static_cast(Lsparse->p)[minor_p], Lsparse, cm); ! END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; ! Lsparse->ncol = minor_p; ! } ! drop_zeros (Lsparse); ! if (! natural) ! { ! perms.resize (a_nr); ! for (octave_idx_type i = 0; i < a_nr; i++) ! perms(i) = static_cast(Lfactor->Perm)[i]; ! } ! ! static char tmp[] = " "; ! ! BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; ! CHOLMOD_NAME(free_factor) (&Lfactor, cm); ! CHOLMOD_NAME(finish) (cm); ! CHOLMOD_NAME(print_common) (tmp, cm); ! END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; ! } #else (*current_liboctave_error_handler) ("Missing CHOLMOD. Sparse cholesky factorization disabled"); diff -cNr octave-3.0.0/liboctave/sparse-base-chol.h octave-3.0.1/liboctave/sparse-base-chol.h *** octave-3.0.0/liboctave/sparse-base-chol.h Fri Oct 12 17:27:17 2007 --- octave-3.0.1/liboctave/sparse-base-chol.h Mon Apr 21 12:00:20 2008 *************** *** 1,6 **** /* ! Copyright (C) 2005, 2007 David Bateman Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Andy Adler This file is part of Octave. --- 1,6 ---- /* ! Copyright (C) 2005, 2007, 2008 David Bateman Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Andy Adler This file is part of Octave. *************** *** 51,58 **** const bool natural) : count (1) { info = init (a, natural); } ! ~sparse_base_chol_rep (void) ! { CHOLMOD_NAME(free_sparse) (&Lsparse, &Common); } cholmod_sparse * L (void) const { return Lsparse; } --- 51,58 ---- const bool natural) : count (1) { info = init (a, natural); } ! ~sparse_base_chol_rep (void) ! { if (is_pd) CHOLMOD_NAME(free_sparse) (&Lsparse, &Common); } cholmod_sparse * L (void) const { return Lsparse; } diff -cNr octave-3.0.0/run-octave.in octave-3.0.1/run-octave.in *** octave-3.0.0/run-octave.in Mon Dec 3 21:27:27 2007 --- octave-3.0.1/run-octave.in Mon Apr 21 12:00:20 2008 *************** *** 2,8 **** ## ## run-octave -- run Octave in the build tree. ## ! ## Copyright (C) 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 2,8 ---- ## ## run-octave -- run Octave in the build tree. ## ! ## Copyright (C) 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 50,56 **** LOADPATH="$d1_path:$d2_path:$d3_path:$d4_path" IMAGEPATH="$top_srcdir/scripts/image" ! INFOFILE="$builddir/doc/interperter/octave.info" if [ $# -gt 0 ]; then if [ "x$1" = "x-g" ]; then --- 50,56 ---- LOADPATH="$d1_path:$d2_path:$d3_path:$d4_path" IMAGEPATH="$top_srcdir/scripts/image" ! INFOFILE="$builddir/doc/interpreter/octave.info" if [ $# -gt 0 ]; then if [ "x$1" = "x-g" ]; then diff -cNr octave-3.0.0/scripts/ChangeLog octave-3.0.1/scripts/ChangeLog *** octave-3.0.0/scripts/ChangeLog Fri Dec 21 16:21:32 2007 --- octave-3.0.1/scripts/ChangeLog Mon Apr 21 12:02:35 2008 *************** *** 1,3 **** --- 1,446 ---- + 2008-04-21 John W. Eaton + + Version 3.0.1 released. + + 2008-04-21 David Bateman + + * plot/__go_draw_axes__.m (gnuplot_position_colorbox): New arg, obj. + Change caller. Improve sizing and position of colorbox for subplots. + * plot/colorbar.m: New demos. + + 2008-04-16 Soren Hauberg + + * plot/__gnuplot_version__.m: Display error if gnuplot is not found. + + 2008-04-15 John W. Eaton + + * plot/view.m: Get values from current axes if nargin == 0. + + 2008-04-09 John W. Eaton + + * deprecated/beta_cdf.m, deprecated/beta_inv.m, + deprecated/beta_pdf.m, deprecated/beta_rnd.m, + deprecated/binomial_cdf.m, deprecated/binomial_inv.m, + deprecated/binomial_pdf.m, deprecated/binomial_rnd.m, + deprecated/chisquare_cdf.m, deprecated/chisquare_inv.m, + deprecated/chisquare_pdf.m, deprecated/chisquare_rnd.m, + deprecated/clearplot.m, deprecated/clg.m, deprecated/com2str.m, + deprecated/exponential_cdf.m, deprecated/exponential_inv.m, + deprecated/exponential_pdf.m, deprecated/exponential_rnd.m, + deprecated/f_cdf.m, deprecated/f_inv.m, deprecated/f_pdf.m, + deprecated/f_rnd.m, deprecated/gamma_cdf.m, + deprecated/gamma_inv.m, deprecated/gamma_pdf.m, + deprecated/gamma_rnd.m, deprecated/geometric_cdf.m, + deprecated/geometric_inv.m, deprecated/geometric_pdf.m, + deprecated/geometric_rnd.m, deprecated/hypergeometric_cdf.m, + deprecated/hypergeometric_inv.m, deprecated/hypergeometric_pdf.m, + deprecated/hypergeometric_rnd.m, deprecated/intersection.m, + deprecated/is_bool.m, deprecated/is_complex.m, + deprecated/is_list.m, deprecated/is_matrix.m, + deprecated/is_scalar.m, deprecated/is_square.m, + deprecated/is_stream.m, deprecated/is_struct.m, + deprecated/is_symmetric.m, deprecated/is_vector.m, + deprecated/isstr.m, deprecated/lognormal_cdf.m, + deprecated/lognormal_inv.m, deprecated/lognormal_pdf.m, + deprecated/lognormal_rnd.m, deprecated/meshdom.m, + deprecated/normal_cdf.m, deprecated/normal_inv.m, + deprecated/normal_pdf.m, deprecated/normal_rnd.m, + deprecated/pascal_cdf.m, deprecated/pascal_inv.m, + deprecated/pascal_pdf.m, deprecated/pascal_rnd.m, + deprecated/poisson_cdf.m, deprecated/poisson_inv.m, + deprecated/poisson_pdf.m, deprecated/poisson_rnd.m, + deprecated/polyinteg.m, deprecated/setstr.m, + deprecated/struct_contains.m, deprecated/struct_elements.m, + deprecated/t_cdf.m, deprecated/t_inv.m, deprecated/t_pdf.m, + deprecated/t_rnd.m, deprecated/uniform_cdf.m, + deprecated/uniform_inv.m, deprecated/uniform_pdf.m, + deprecated/uniform_rnd.m, deprecated/weibcdf.m, + deprecated/weibinv.m, deprecated/weibpdf.m, deprecated/weibrnd.m, + deprecated/weibull_cdf.m, deprecated/weibull_inv.m, + deprecated/weibull_pdf.m, deprecated/weibull_rnd.m, + deprecated/wiener_rnd.m: Don't embed newline in warning message. + + 2008-04-09 David Bateman + + * testfun/assert.m: Don't allow cond and expected to be lists. + + 2008-04-04 David Bateman + + * deprecated/beta_cdf.m deprecated/beta_inv.m + deprecated/beta_pdf.m deprecated/beta_rnd.m + deprecated/binomial_cdf.m deprecated/binomial_inv.m + deprecated/binomial_pdf.m deprecated/binomial_rnd.m + deprecated/chisquare_cdf.m deprecated/chisquare_inv.m + deprecated/chisquare_pdf.m deprecated/chisquare_rnd.m + deprecated/clearplot.m deprecated/clg.m deprecated/com2str.m + deprecated/exponential_cdf.m deprecated/exponential_inv.m + deprecated/exponential_pdf.m deprecated/exponential_rnd.m + deprecated/f_cdf.m deprecated/f_inv.m deprecated/f_pdf.m + deprecated/f_rnd.m deprecated/gamma_cdf.m deprecated/gamma_inv.m + deprecated/gamma_pdf.m deprecated/gamma_rnd.m + deprecated/geometric_cdf.m deprecated/geometric_inv.m + deprecated/geometric_pdf.m deprecated/geometric_rnd.m + deprecated/hypergeometric_cdf.m deprecated/hypergeometric_inv.m + deprecated/hypergeometric_pdf.m deprecated/hypergeometric_rnd.m + deprecated/intersection.m deprecated/is_bool.m + deprecated/is_complex.m deprecated/is_list.m + deprecated/is_matrix.m deprecated/is_scalar.m + deprecated/is_square.m deprecated/is_stream.m deprecated/isstr.m + deprecated/is_struct.m deprecated/is_symmetric.m + deprecated/is_vector.m deprecated/lognormal_cdf.m + deprecated/lognormal_inv.m deprecated/lognormal_pdf.m + deprecated/lognormal_rnd.m deprecated/meshdom.m + deprecated/normal_cdf.m deprecated/normal_inv.m + deprecated/normal_pdf.m deprecated/normal_rnd.m + deprecated/pascal_cdf.m deprecated/pascal_inv.m + deprecated/pascal_pdf.m deprecated/pascal_rnd.m + deprecated/poisson_cdf.m deprecated/poisson_inv.m + deprecated/poisson_pdf.m deprecated/poisson_rnd.m + deprecated/polyinteg.m deprecated/setstr.m + deprecated/struct_contains.m deprecated/struct_elements.m + deprecated/t_cdf.m deprecated/t_inv.m deprecated/t_pdf.m + deprecated/t_rnd.m deprecated/uniform_cdf.m + deprecated/uniform_inv.m deprecated/uniform_pdf.m + deprecated/uniform_rnd.m deprecated/weibcdf.m deprecated/weibinv.m + deprecated/weibpdf.m deprecated/weibrnd.m deprecated/weibull_cdf.m + deprecated/weibull_inv.m deprecated/weibull_pdf.m + deprecated/weibull_rnd.m deprecated/wiener_rnd.m: Add warning that + function will be removed in a future version. + + 2008-04-04 John W. Eaton + + * deprecated/beta_cdf.m, deprecated/beta_inv.m, + deprecated/beta_pdf.m, deprecated/beta_rnd.m, + deprecated/binomial_cdf.m, deprecated/binomial_inv.m, + deprecated/binomial_pdf.m, deprecated/binomial_rnd.m, + deprecated/chisquare_cdf.m, deprecated/chisquare_inv.m, + deprecated/chisquare_pdf.m, deprecated/chisquare_rnd.m, + deprecated/clearplot.m, deprecated/clg.m, deprecated/com2str.m, + deprecated/exponential_cdf.m, deprecated/exponential_inv.m, + deprecated/exponential_pdf.m, deprecated/exponential_rnd.m, + deprecated/f_cdf.m, deprecated/f_inv.m, deprecated/f_pdf.m, + deprecated/f_rnd.m, deprecated/gamma_cdf.m, + deprecated/gamma_inv.m, deprecated/gamma_pdf.m, + deprecated/gamma_rnd.m, deprecated/geometric_cdf.m, + deprecated/geometric_inv.m, deprecated/geometric_pdf.m, + deprecated/geometric_rnd.m, deprecated/hypergeometric_cdf.m, + deprecated/hypergeometric_inv.m, deprecated/hypergeometric_pdf.m, + deprecated/hypergeometric_rnd.m, deprecated/intersection.m, + deprecated/is_bool.m, deprecated/is_complex.m, + deprecated/is_list.m, deprecated/is_matrix.m, + deprecated/is_scalar.m, deprecated/is_square.m, + deprecated/is_stream.m, deprecated/is_struct.m, + deprecated/is_symmetric.m, deprecated/is_vector.m, + deprecated/isstr.m, deprecated/lognormal_cdf.m, + deprecated/lognormal_inv.m, deprecated/lognormal_pdf.m, + deprecated/lognormal_rnd.m, deprecated/meshdom.m, + deprecated/normal_cdf.m, deprecated/normal_inv.m, + deprecated/normal_pdf.m, deprecated/normal_rnd.m, + deprecated/pascal_cdf.m, deprecated/pascal_inv.m, + deprecated/pascal_pdf.m, deprecated/pascal_rnd.m, + deprecated/poisson_cdf.m, deprecated/poisson_inv.m, + deprecated/poisson_pdf.m, deprecated/poisson_rnd.m, + deprecated/polyinteg.m, deprecated/setstr.m, + deprecated/struct_contains.m, deprecated/struct_elements.m, + deprecated/t_cdf.m, deprecated/t_inv.m, deprecated/t_pdf.m, + deprecated/t_rnd.m, deprecated/uniform_cdf.m, + deprecated/uniform_inv.m, deprecated/uniform_pdf.m, + deprecated/uniform_rnd.m, deprecated/weibcdf.m, + deprecated/weibinv.m, deprecated/weibpdf.m, deprecated/weibrnd.m, + deprecated/weibull_cdf.m, deprecated/weibull_inv.m, + deprecated/weibull_pdf.m, deprecated/weibull_rnd.m, + deprecated/wiener_rnd.m: + Note version when function was deprecated. + + 2008-04-03 David Bateman + + * plot/__go_draw_axes__.m: Conditionally "set pm3d implict" for 2D + plot or 3D plots with more than one line. + + 2008-04-02 John W. Eaton + + * plot/Makefile.in (SOURCES): Add __plt2sv__.m and __plt2vs__.m to + the list. + + * general/Makefile.in (SOURCES): Add runlength.m to the list. + + 2008-04-01 Richard Bovey + + * general/sortrows.m: Handle negative column arguments. + + 2008-03-31 David Bateman + + * plot/__go_draw_axes__.m: Set the tick direction in the main call + the set tics rather than separately to avoid issues with multiple + ticks in plotyy. + + 2008-03-31 Dmitri A. Sergatskov + + * miscellaneous/run.m: Fix check for existence of file. + + 2008-03-28 Thomas Weber + + * miscellaneous/tempdir.m: Use correct function name in texinfo + documentation. + + 2008-03-28 Jaroslav Hajek + + * general/del2.m: Missing semicolon. + + 2008-03-27 John W. Eaton + + * plot/__axis_label__.m: Use name of caller in error message. + + 2008-03-26 John W. Eaton + + * set/ismember.m: Set size of idx output correctly for empty args. + New tests. + + * general/logical.m: Correctly handle empty args. New tests. + + 2008-03-24 Thomas Weber + + * pkg/pkg.m: Allow installation of already extracted packages. + + 2008-03-24 Michael Goffioul + + * pkg/pkg.m (pkg:configure_make): Make it work with recent changes in + isspace handling with cell arrays of strings. + + 2008-03-24 John W. Eaton + + * pkg/pkg.m: Style fixes. + + 2008-03-24 Carlo de Falco + + * pkg/pkg.m: Handle 'describe' command. + (parse_pkg_idx, print_package_description): New subfunctions. + + 2008-03-20 David Bateman + + * general/rotdim.m: Ensure k is an integer scale. + + * general/circshift.m: If matrix is empty fast return. + + 2008-03-19 Emil Lucretiu + + * signal/sinetone.m: Ensure integral number of samples. + + 2008-03-19 Michael D. Godfrey + + * plot/__go_draw_axes__.m: Additional correction for symbol codes. + + 2008-03-19 Ben Abbott + + * statistics/base/mode.m: Add NDArray tests. + + 2008-03-19 David Bateman + + * statistics/base/mode.m: Fix for row vectors. + + 2008-03-19 Jaroslav Hajek + + * statistics/distributions/exppdf.m, + statistics/distributions/expcdf.m, + statistics/distributions/expinv.m, + statistics/distributions/exprnd.m: Doc fix. + + 2008-03-18 Michael D. Godfrey + + * plot/__go_draw_axes__.m: Use correct symbol codes. + + 2008-03-14 Kai Habel + + * plot/__go_draw_axes__.m: Expicitly set gnuplot user + style to default to avoid wrong mesh color in some cases. + + 2008-03-12 David Bateman + + * geometry/griddata3.m: Use griddatan and not griddata + internally. Return vi and not yi. Add test code. + + 2008-03-11 John W. Eaton + + * plot/__go_draw_axes__.m: Use get to access hidden properties. + Use strcmpi when comparing string properties. + + * plot/ChangeLog: Handle axes linewidth property. + + * plot/__go_draw_axes__.m (get_old_gnuplot_color): New subfunction. + Use it to replace repeated if/elseif blocks. + + 2008-03-11 Kai Habel + + * plot/__go_draw_axes__.m: Plot surfaces in front of axes. + Allow plotting of uniform colored mesh plots with and + w/o hidden line removal. + + * plot/__go_draw_axes__.m: If facecolor property of a surface is + "none", don't use pm3d mode and set linestyle correctly. + + 2008-03-07 John W. Eaton + + * plot/contourf.m: Set axes layer property to "top". + + 2008-03-06 John W. Eaton + + * plot/hist.m: Avoid temporaries. + Allow matrix arguments when number of bins > 30. + From Robert S. Mahurin . + + * plot/__go_draw_axes__.m: Adjust markersize by a factor of 1/6. + + 2008-03-05 Ben Abbott + + * polynomial/roots.m: Catch Infs and/or NaNs. + + 2008-03-05 Sebastien Loisel + + * polynomial/roots.m: Apply a scaling factor to the removal of the + leading zeros. + + 2008-02-29 John W. Eaton + + * plot/print.m: Handle gif and jpg devices. + + 2008-02-28 John W. Eaton + + * plot/__go_draw_axes__.m (get_fontname_and_size): Use strcmpi + instead of calling tolower on first arg. Default font name is + Helvetica, not helvetica. Don't downcase user-specified font name. + (__maybe_munge_text__): Fix typo. + + 2008-02-25 Ryan Hinton + + * miscellaneous/unpack.m: Use "-f -" args for tar. + + 2008-02-22 John W. Eaton + + * miscellaneous/fullfile.m: Improve handling of empty args and + args ending with filesep. + + * control/base/__stepimp__.m: Don't use subplot for just one plot. + + 2008-02-21 John W. Eaton + + * image/imshow.m: Call axis ("image"). + From Michael G. Ross . + + * plot/errorbar.m: If nargout > 0, return vector of handles to + line objects. + * plot/__go_draw_axes__.m: Improve handling of line style for + errorbar plots. + + 2008-02-20 John W. Eaton + + * strings/strcat.m: Detect cellstr args. + + 2008-02-15 Timo Lindfors + + * statistics/tests/kruskal_wallis_test.m: Handle ties. + * general/runlength.m: New function from Paul Kienzle. + + 2008-02-15 Rolf Fabian + + * linear-algebra/cond.m: New optional second argument to + specify 1-norm, inf-norm, or frobenius-norm. + + 2008-02-08 Kostas Poulios + + * plot/__quiver__.m: make arrow head be in z-plane of the arrow + body. Allow the linespec to specify the arrow color. + + 2008-02-12 David Bateman + + * miscellaneous/cast.m: Also treat the logical type. + + * plot/__go_draw_axes__.m: Set pm3d implict to fix colorbars on + contour plots. + + * plot/__go_draw_axes__.m: Use the cdatamapping property to set + the cbrange. + * plot/__img__.m: Set cdatamapping to "direct". + * plot/imagesc.m: Set cdatamapping to "scaled". + + 2008-02-08 Julien Pommier + + * audio/wavread.m: Limit data read to end of data chunk. + + 2008-01-30 John W. Eaton + + * miscellaneous/edit.m: Use "## Created: DATE" instead of "initial + revision". + + * plot/Makefile.in (SOURCES): Include __plt2sv__.m and + __plt2vs__.m in the list. + + * miscellaneous/tempdir.m: Append filesep to name for + compatibility. Warn if not a directory or directory does not + exist. + + * strings/deblank.m: Improve compatibility. + + 2008-01-28 Michael Goffioul + + * plot/xlabel.m, plot/ylabel.m, plot/zlabel.m: + Return the label handle, not the current axis handle. + + 2008-01-25 James Packer + + * geometry/griddata3.m: Call griddata, not gridata. + + 2008-01-24 Schloegl Alois + + * linear-algebra/trace.m: Require 2-d args. Handle vectors properly. + + 2008-01-18 Ben Abbott + + * polynomial/residue.m: For each group of pole multiplicity, set + the poles of the group to the value of the group's average. + + 2008-01-17 Tetsuro KURITA + + * plot/print.m: Handle PDF output. + * plot/drawnow.m: Add "PDF" in a list of enhanced_terminals. + + 2008-01-16 John W. Eaton + + * plot/__go_draw_axes__.m (__do_enhanced_option__): New subfunction. + Use it to disable enhanced mode for individual labels and titles. + + 2008-01-10 Ben Abbott + + * polynomial/mpoles.m: Avoid cases where poles could be assigned + to more than one multiplicity group. + + 2008-01-09 John W. Eaton + + * plot/drawnow.m: Fail if filename includes a directory part that + does not exist. + + 2008-01-07 John W. Eaton + + * miscellaneous/copyfile.m, miscellaneous/movefile.m: + Error if glob call fails to match any files. + + 2008-01-04 Thomas Treichl + + * strings/strtrim.m: Doc fix. + + 2008-01-02 John W. Eaton + + * plot/print.m: Correctly handle pbm terminal. + + 2007-12-28 John W. Eaton + + * miscellaneous/edit.m: Use strcat instead of fullfile to add file + extensions. + + 2007-12-28 Kai Habel + + * plot/pcolor.m: Swap 1st and 2nd argument in call to meshgrid. + Remove unnecessary call of size function. + 2007-12-21 John W. Eaton Version 3.0.0 released. diff -cNr octave-3.0.0/scripts/DOCSTRINGS octave-3.0.1/scripts/DOCSTRINGS *** octave-3.0.0/scripts/DOCSTRINGS Fri Dec 21 16:28:25 2007 --- octave-3.0.1/scripts/DOCSTRINGS Mon Apr 21 12:56:30 2008 *************** *** 6316,6321 **** --- 6316,6348 ---- use @code{flipdim} instead. @seealso{fliplr, flipdim, rot90, rotdim} @end deftypefn + lookup + -*- texinfo -*- + @deftypefn {Function File} {@var{idx} =} lookup (@var{table}, @var{y}) + Lookup values in a sorted table. Usually used as a prelude to + interpolation. + + If table is strictly increasing and @code{idx = lookup (table, y)}, then + @code{table(idx(i)) <= y(i) < table(idx(i+1))} for all @code{y(i)} + within the table. If @code{y(i)} is before the table, then + @code{idx(i)} is 0. If @code{y(i)} is after the table then + @code{idx(i)} is @code{table(n)}. + + If the table is strictly decreasing, then the tests are reversed. + There are no guarantees for tables which are non-monotonic or are not + strictly monotonic. + + To get an index value which lies within an interval of the table, + use: + + @example + idx = lookup (table(2:length(table)-1), y) + 1 + @end example + + @noindent + This expression puts values before the table into the first + interval, and values after the table into the last interval. + @end deftypefn gradient -*- texinfo -*- @deftypefn {Function File} {@var{x} = } gradient (@var{M}) *************** *** 6727,6759 **** values are requested. @seealso{linspace} @end deftypefn - lookup - -*- texinfo -*- - @deftypefn {Function File} {@var{idx} =} lookup (@var{table}, @var{y}) - Lookup values in a sorted table. Usually used as a prelude to - interpolation. - - If table is strictly increasing and @code{idx = lookup (table, y)}, then - @code{table(idx(i)) <= y(i) < table(idx(i+1))} for all @code{y(i)} - within the table. If @code{y(i)} is before the table, then - @code{idx(i)} is 0. If @code{y(i)} is after the table then - @code{idx(i)} is @code{table(n)}. - - If the table is strictly decreasing, then the tests are reversed. - There are no guarantees for tables which are non-monotonic or are not - strictly monotonic. - - To get an index value which lies within an interval of the table, - use: - - @example - idx = lookup (table(2:length(table)-1), y) + 1 - @end example - - @noindent - This expression puts values before the table into the first - interval, and values after the table into the last interval. - @end deftypefn mod -*- texinfo -*- @deftypefn {Mapping Function} {} mod (@var{x}, @var{y}) --- 6754,6759 ---- *************** *** 7025,7030 **** --- 7025,7041 ---- @end example @seealso{rot90, flipud, fliplr, flipdim} @end deftypefn + runlength + -*- texinfo -*- + @deftypefn {Function File} {} runlength (@var{x}) + Find the lengths of all sequences of common values. Return the + vector of lengths and the value that was repeated. + + @example + runlength ([2, 2, 0, 4, 4, 4, 0, 1, 1, 1, 1]) + @result{} [2, 1, 3, 1, 4] + @end example + @end deftypefn shift -*- texinfo -*- @deftypefn {Function File} {} shift (@var{x}, @var{b}) *************** *** 7072,7078 **** @deftypefn {Function File} {} sortrows (@var{a}, @var{c}) Sort the rows of the matrix @var{a} according to the order of the columns specified in @var{c}. If @var{c} is omitted, a ! lexicographical sort is used. @end deftypefn sph2cart -*- texinfo -*- --- 7083,7091 ---- @deftypefn {Function File} {} sortrows (@var{a}, @var{c}) Sort the rows of the matrix @var{a} according to the order of the columns specified in @var{c}. If @var{c} is omitted, a ! lexicographical sort is used. By default ascending order is used ! however if elements of @var{c} are negative then the corrosponding ! column is sorted in descending order. @end deftypefn sph2cart -*- texinfo -*- *************** *** 7909,7919 **** @end deftypefn cond -*- texinfo -*- ! @deftypefn {Function File} {} cond (@var{a}) ! Compute the (two-norm) condition number of a matrix. @code{cond (a)} is ! defined as @code{norm (a) * norm (inv (a))}, and is computed via a ! singular value decomposition. ! @seealso{norm, svd, rank} @end deftypefn condest -*- texinfo -*- --- 7922,7934 ---- @end deftypefn cond -*- texinfo -*- ! @deftypefn {Function File} {} cond (@var{a},@var{p}) ! Compute the @var{p}-norm condition number of a matrix. @code{cond (@var{a})} is ! defined as @code{norm (@var{a}, @var{p}) * norm (inv (@var{a}), @var{p})}. ! By default @code{@var{p}=2} is used which implies a (relatively slow) ! singular value decomposition. Other possible selections are ! @code{@var{p}= 1, Inf, inf, 'Inf', 'fro'} which are generally faster. ! @seealso{norm, inv, det, svd, rank} @end deftypefn condest -*- texinfo -*- *************** *** 9078,9084 **** @end deftypefn tempdir -*- texinfo -*- ! @deftypefn {Function File} {@var{dir} =} fullfile () Return the name of the system's directory for temporary files. @end deftypefn tempname --- 9093,9099 ---- @end deftypefn tempdir -*- texinfo -*- ! @deftypefn {Function File} {@var{dir} =} tempdir () Return the name of the system's directory for temporary files. @end deftypefn tempname *************** *** 10143,10148 **** --- 10158,10186 ---- @noindent splits the list of installed packages into those who are installed by the current user, and those installed by the system administrator. + @item describe + Show a short description of the named installed packages, with the option + '-verbose' also list functions provided by the package, e.g.: + @example + pkg describe -verbose all + @end example + @noindent + will describe all installed packages and the functions they provide. + If one output is requested a cell of structure containing the + description and list of functions of each package is returned as + output rather than printed on screen: + @example + desc = pkg ("describe", "secs1d", "image") + @end example + @noindent + If any of the requested packages is not installed, pkg returns an + error, unless a second output is requested: + @example + [ desc, flag] = pkg ("describe", "secs1d", "image") + @end example + @noindent + @var{flag} will take one of the values "Not installed", "Loaded" or + "Not loaded" for each of the named packages. @item prefix Set the installation prefix directory. For example, @example *************** *** 10231,10236 **** --- 10269,10283 ---- Undocumented internal function. __errplot__ Undocumented internal function. + drawnow + -*- texinfo -*- + @deftypefn {Function File} {} drawnow () + Update and display the current graphics. + + Octave automatically calls drawnow just before printing a prompt, + when @code{sleep} or @code{pause} is called, or while waiting for + command-line input. + @end deftypefn __gnuplot_version__ Undocumented internal function. __go_close_all__ *************** *** 10259,10266 **** --- 10306,10317 ---- Undocumented internal function. __plt2ss__ Undocumented internal function. + __plt2sv__ + Undocumented internal function. __plt2vm__ Undocumented internal function. + __plt2vs__ + Undocumented internal function. __plt2vv__ Undocumented internal function. __plt__ *************** *** 10751,10765 **** @end example @seealso{sphere} @end deftypefn - drawnow - -*- texinfo -*- - @deftypefn {Function File} {} drawnow () - Update and display the current graphics. - - Octave automatically calls drawnow just before printing a prompt, - when @code{sleep} or @code{pause} is called, or while waiting for - command-line input. - @end deftypefn ellipsoid -*- texinfo -*- @deftypefn {Function File} {[@var{x}, @var{y}, @var{z}] =} ellipsoid (@var{xc},@var{yc}, @var{zc}, @var{xr}, @var{yr}, @var{zr}, @var{n}) --- 10802,10807 ---- *************** *** 11716,11725 **** --- 11758,11774 ---- Metafont @item png Portable network graphics + @item jpg + @itemx jpeg + JPEG image + @item gif + GIF image @item pbm PBMplus @item svg Scalable vector graphics + @item pdf + Portable document format @end table Other devices are supported by "convert" from ImageMagick. Type *************** *** 12848,12854 **** @deftypefnx {Function File} {[@var{b}, @var{a}] =} residue (@var{r}, @var{p}, @var{k}) @deftypefnx {Function File} {[@var{b}, @var{a}] =} residue (@var{r}, @var{p}, @var{k}, @var{e}) Compute the reconstituted quotient of polynomials, ! @var{b}(s)/@var{a}(s), from the partial fraction expansion represented by the residues, poles, and a direct polynomial specified by @var{r}, @var{p} and @var{k}, and the pole multiplicity @var{e}. --- 12897,12903 ---- @deftypefnx {Function File} {[@var{b}, @var{a}] =} residue (@var{r}, @var{p}, @var{k}) @deftypefnx {Function File} {[@var{b}, @var{a}] =} residue (@var{r}, @var{p}, @var{k}, @var{e}) Compute the reconstituted quotient of polynomials, ! @var{b}(s)/@var{a}(s), from the partial fraction expansion; represented by the residues, poles, and a direct polynomial specified by @var{r}, @var{p} and @var{k}, and the pole multiplicity @var{e}. *************** *** 15885,15891 **** @deftypefn {Function File} {} expcdf (@var{x}, @var{lambda}) For each element of @var{x}, compute the cumulative distribution function (CDF) at @var{x} of the exponential distribution with ! parameter @var{lambda}. The arguments can be of common size or scalar. @end deftypefn --- 15934,15940 ---- @deftypefn {Function File} {} expcdf (@var{x}, @var{lambda}) For each element of @var{x}, compute the cumulative distribution function (CDF) at @var{x} of the exponential distribution with ! mean @var{lambda}. The arguments can be of common size or scalar. @end deftypefn *************** *** 15893,15913 **** -*- texinfo -*- @deftypefn {Function File} {} expinv (@var{x}, @var{lambda}) For each element of @var{x}, compute the quantile (the inverse of the ! CDF) at @var{x} of the exponential distribution with parameter @var{lambda}. @end deftypefn exppdf -*- texinfo -*- @deftypefn {Function File} {} exppdf (@var{x}, @var{lambda}) For each element of @var{x}, compute the probability density function ! (PDF) of the exponential distribution with parameter @var{lambda}. @end deftypefn exprnd -*- texinfo -*- @deftypefn {Function File} {} exprnd (@var{lambda}, @var{r}, @var{c}) @deftypefnx {Function File} {} exprnd (@var{lambda}, @var{sz}) Return an @var{r} by @var{c} matrix of random samples from the ! exponential distribution with parameter @var{lambda}, which must be a scalar or of size @var{r} by @var{c}. Or if @var{sz} is a vector, create a matrix of size @var{sz}. --- 15942,15962 ---- -*- texinfo -*- @deftypefn {Function File} {} expinv (@var{x}, @var{lambda}) For each element of @var{x}, compute the quantile (the inverse of the ! CDF) at @var{x} of the exponential distribution with mean @var{lambda}. @end deftypefn exppdf -*- texinfo -*- @deftypefn {Function File} {} exppdf (@var{x}, @var{lambda}) For each element of @var{x}, compute the probability density function ! (PDF) of the exponential distribution with mean @var{lambda}. @end deftypefn exprnd -*- texinfo -*- @deftypefn {Function File} {} exprnd (@var{lambda}, @var{r}, @var{c}) @deftypefnx {Function File} {} exprnd (@var{lambda}, @var{sz}) Return an @var{r} by @var{c} matrix of random samples from the ! exponential distribution with mean @var{lambda}, which must be a scalar or of size @var{r} by @var{c}. Or if @var{sz} is a vector, create a matrix of size @var{sz}. *************** *** 16812,16817 **** --- 16861,16878 ---- approximately chi-square with @var{df} = @var{k} - 1 degrees of freedom. + If the data contains ties (some value appears more than once) + @var{k} is divided by + + 1 - @var{sumTies} / ( @var{n}^3 - @var{n} ) + + where @var{sumTies} is the sum of @var{t}^2 - @var{t} over each group + of ties where @var{t} is the number of ties in the group and @var{n} + is the total number of values in the input data. For more info on + this adjustment see "Use of Ranks in One-Criterion Variance Analysis" + in Journal of the American Statistical Association, Vol. 47, + No. 260 (Dec 1952) by William H. Kruskal and W. Allen Wallis. + The p-value (1 minus the CDF of this distribution at @var{k}) is returned in @var{pval}. *************** *** 17532,17542 **** @end deftypefn strtrim ! -*- texinfo -*- @deftypefn {Function File} {} deblank (@var{s}) Remove leading and trailing blanks and nulls from @var{s}. If @var{s} is a matrix, @var{deblank} trims each row to the length of longest string. If @var{s} is a cell array, operate recursively on ! each element of the cell array. @end deftypefn strtrunc -*- texinfo -*- @deftypefn {Function File} {} strtrunc (@var{s}, @var{n}) --- 17593,17605 ---- @end deftypefn strtrim ! -*- texinfo -*- ! @deftypefn {Function File} {} deblank (@var{s}) Remove leading and trailing blanks and nulls from @var{s}. If @var{s} is a matrix, @var{deblank} trims each row to the length of longest string. If @var{s} is a cell array, operate recursively on ! each element of the cell array. ! @end deftypefn strtrunc -*- texinfo -*- @deftypefn {Function File} {} strtrunc (@var{s}, @var{n}) diff -cNr octave-3.0.0/scripts/audio/wavread.m octave-3.0.1/scripts/audio/wavread.m *** octave-3.0.0/scripts/audio/wavread.m Fri Nov 9 14:34:17 2007 --- octave-3.0.1/scripts/audio/wavread.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2005, 2006, 2007 Michael Zeising ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2005, 2006, 2007, 2008 Michael Zeising ## ## This file is part of Octave. ## *************** *** 151,157 **** ## parse arguments if (nargin == 1) ! length = inf; else if (size (param, 2) == 1) ## number of samples is given --- 151,157 ---- ## parse arguments if (nargin == 1) ! length = 8 * ck_size / bits_per_sample; else if (size (param, 2) == 1) ## number of samples is given diff -cNr octave-3.0.0/scripts/control/base/__stepimp__.m octave-3.0.1/scripts/control/base/__stepimp__.m *** octave-3.0.0/scripts/control/base/__stepimp__.m Wed Nov 7 22:44:14 2007 --- octave-3.0.1/scripts/control/base/__stepimp__.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1996, 1998, 2000, 2003, 2004, 2005, 2006, 2007 ## Auburn University. All rights reserved. ## ## This file is part of Octave. --- 1,4 ---- ! ## Copyright (C) 1996, 1998, 2000, 2003, 2004, 2005, 2006, 2007, 2008 ## Auburn University. All rights reserved. ## ## This file is part of Octave. *************** *** 237,243 **** ncols = floor (sqrt (NOUT)); nrows = ceil (NOUT / ncols); for i = 1:NOUT ! subplot (nrows, ncols, i); if (DIGITAL) [ts, ys] = stairs (t, y(i,:)); ts = ts(1:2*n-2)'; --- 237,245 ---- ncols = floor (sqrt (NOUT)); nrows = ceil (NOUT / ncols); for i = 1:NOUT ! if (nrows > 1 || ncols > 1) ! subplot (nrows, ncols, i); ! endif if (DIGITAL) [ts, ys] = stairs (t, y(i,:)); ts = ts(1:2*n-2)'; diff -cNr octave-3.0.0/scripts/deprecated/beta_cdf.m octave-3.0.1/scripts/deprecated/beta_cdf.m *** octave-3.0.0/scripts/deprecated/beta_cdf.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/beta_cdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 26,33 **** --- 26,42 ---- ## Author: KH ## Description: CDF of the Beta distribution + ## Deprecated in version 3.0 + function cdf = beta_cdf (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "beta_cdf is obsolete and will be removed from a future version of Octave; please use betacdf instead"); + endif + cdf = betacdf (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/beta_inv.m octave-3.0.1/scripts/deprecated/beta_inv.m *** octave-3.0.0/scripts/deprecated/beta_inv.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/beta_inv.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 26,33 **** --- 26,42 ---- ## Author: KH ## Description: Quantile function of the Beta distribution + ## Deprecated in version 3.0 + function inv = beta_inv (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "beta_inv is obsolete and will be removed from a future version of Octave; please use betainv instead"); + endif + inv = betainv (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/beta_pdf.m octave-3.0.1/scripts/deprecated/beta_pdf.m *** octave-3.0.0/scripts/deprecated/beta_pdf.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/beta_pdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 25,32 **** --- 25,41 ---- ## Author: KH ## Description: PDF of the Beta distribution + ## Deprecated in version 3.0 + function pdf = beta_pdf (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "beta_pdf is obsolete and will be removed from a future version of Octave; please use betapdf instead"); + endif + pdf = betapdf (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/beta_rnd.m octave-3.0.1/scripts/deprecated/beta_rnd.m *** octave-3.0.0/scripts/deprecated/beta_rnd.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/beta_rnd.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 31,38 **** --- 31,47 ---- ## Author: KH ## Description: Random deviates from the Beta distribution + ## Deprecated in version 3.0 + function rnd = beta_rnd (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "beta_rnd is obsolete and will be removed from a future version of Octave; please use betarnd instead"); + endif + rnd = betarnd (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/binomial_cdf.m octave-3.0.1/scripts/deprecated/binomial_cdf.m *** octave-3.0.0/scripts/deprecated/binomial_cdf.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/binomial_cdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 25,32 **** --- 25,41 ---- ## Author: KH ## Description: CDF of the binomial distribution + ## Deprecated in version 3.0 + function cdf = binomial_cdf (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "binomial_cdf is obsolete and will be removed from a future version of Octave; please use binocdf instead"); + endif + cdf = binocdf (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/binomial_inv.m octave-3.0.1/scripts/deprecated/binomial_inv.m *** octave-3.0.0/scripts/deprecated/binomial_inv.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/binomial_inv.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 25,32 **** --- 25,41 ---- ## Author: KH ## Description: Quantile function of the binomial distribution + ## Deprecated in version 3.0 + function inv = binomial_inv (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "binomial_inv is obsolete and will be removed from a future version of Octave; please use binoinv instead"); + endif + inv = binoinv (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/binomial_pdf.m octave-3.0.1/scripts/deprecated/binomial_pdf.m *** octave-3.0.0/scripts/deprecated/binomial_pdf.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/binomial_pdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 26,33 **** --- 26,42 ---- ## Author: KH ## Description: PDF of the binomial distribution + ## Deprecated in version 3.0 + function pdf = binomial_pdf (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "binomial_pdf is obsolete and will be removed from a future version of Octave; please use binopdf instead"); + endif + pdf = binopdf (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/binomial_rnd.m octave-3.0.1/scripts/deprecated/binomial_rnd.m *** octave-3.0.0/scripts/deprecated/binomial_rnd.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/binomial_rnd.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 31,38 **** --- 31,47 ---- ## Author: KH ## Description: Random deviates from the binomial distribution + ## Deprecated in version 3.0 + function rnd = binomial_rnd (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "binomial_rnd is obsolete and will be removed from a future version of Octave; please use binornd instead"); + endif + rnd = binornd (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/chisquare_cdf.m octave-3.0.1/scripts/deprecated/chisquare_cdf.m *** octave-3.0.0/scripts/deprecated/chisquare_cdf.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/chisquare_cdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 26,33 **** --- 26,42 ---- ## Author: TT ## Description: CDF of the chi-square distribution + ## Deprecated in version 3.0 + function cdf = chisquare_cdf (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "chisquare_cdf is obsolete and will be removed from a future version of Octave; please use chi2cdf instead"); + endif + cdf = chi2cdf (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/chisquare_inv.m octave-3.0.1/scripts/deprecated/chisquare_inv.m *** octave-3.0.0/scripts/deprecated/chisquare_inv.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/chisquare_inv.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 26,33 **** --- 26,42 ---- ## Author: TT ## Description: Quantile function of the chi-square distribution + ## Deprecated in version 3.0 + function inv = chisquare_inv (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "chisquare_inv is obsolete and will be removed from a future version of Octave; please use chi2inv instead"); + endif + inv = chi2inv (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/chisquare_pdf.m octave-3.0.1/scripts/deprecated/chisquare_pdf.m *** octave-3.0.0/scripts/deprecated/chisquare_pdf.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/chisquare_pdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2006, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2006, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 26,33 **** --- 26,42 ---- ## Author: TT ## Description: PDF of the chi-sqaure distribution + ## Deprecated in version 3.0 + function pdf = chisquare_pdf (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "chisquare_pdf is obsolete and will be removed from a future version of Octave; please use chi2pdf instead"); + endif + pdf = chi2pdf (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/chisquare_rnd.m octave-3.0.1/scripts/deprecated/chisquare_rnd.m *** octave-3.0.0/scripts/deprecated/chisquare_rnd.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/chisquare_rnd.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 30,37 **** --- 30,46 ---- ## Author: KH ## Description: Random deviates from the chi-square distribution + ## Deprecated in version 3.0 + function rnd = chisquare_rnd (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "chisquare_rnd is obsolete and will be removed from a future version of Octave; please use chi2rnd instead"); + endif + rnd = chi2rnd (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/clearplot.m octave-3.0.1/scripts/deprecated/clearplot.m *** octave-3.0.0/scripts/deprecated/clearplot.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/clearplot.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 23,30 **** --- 23,39 ---- ## Author: jwe + ## Deprecated in version 3.0 + function clearplot () + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "clearplot is obsolete and will be removed from a future version of Octave; please use clf instead"); + endif + clf (); endfunction diff -cNr octave-3.0.0/scripts/deprecated/clg.m octave-3.0.1/scripts/deprecated/clg.m *** octave-3.0.0/scripts/deprecated/clg.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/clg.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 23,30 **** --- 23,39 ---- ## Author: jwe + ## Deprecated in version 3.0 + function clg () + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "clg is obsolete and will be removed from a future version of Octave, please use clf instead"); + endif + clf (); endfunction diff -cNr octave-3.0.0/scripts/deprecated/com2str.m octave-3.0.1/scripts/deprecated/com2str.m *** octave-3.0.0/scripts/deprecated/com2str.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/com2str.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1998, 2004, 2005, 2006, 2007 ## Auburn University. All rights reserved. ## ## This file is part of Octave. --- 1,4 ---- ! ## Copyright (C) 1998, 2004, 2005, 2006, 2007, 2008 ## Auburn University. All rights reserved. ## ## This file is part of Octave. *************** *** 33,40 **** --- 33,49 ---- ## @end table ## @end deftypefn + ## Deprecated in version 3.0 + function retval = com2str (zz, flg) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "com2str is obsolete and will be removed from a future version of Octave; please use num2str instead"); + endif + if (nargin < 1 || nargin > 2) print_usage (); endif diff -cNr octave-3.0.0/scripts/deprecated/exponential_cdf.m octave-3.0.1/scripts/deprecated/exponential_cdf.m *** octave-3.0.0/scripts/deprecated/exponential_cdf.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/exponential_cdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 28,35 **** --- 28,44 ---- ## Author: KH ## Description: CDF of the exponential distribution + ## Deprecated in version 3.0 + function cdf = exponential_cdf (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "exponential_cdf is obsolete and will be removed from a future version of Octave; please use expcdf instead"); + endif + if (nargin > 1) varargin{2} = 1 ./ varargin{2}; endif diff -cNr octave-3.0.0/scripts/deprecated/exponential_inv.m octave-3.0.1/scripts/deprecated/exponential_inv.m *** octave-3.0.0/scripts/deprecated/exponential_inv.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/exponential_inv.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 26,33 **** --- 26,42 ---- ## Author: KH ## Description: Quantile function of the exponential distribution + ## Deprecated in version 3.0 + function inv = exponential_inv (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "exponential_inv is obsolete and will be removed from a future version of Octave; please use expinv instead"); + endif + if (nargin > 1) varargin{2} = 1 ./ varargin{2}; endif diff -cNr octave-3.0.0/scripts/deprecated/exponential_pdf.m octave-3.0.1/scripts/deprecated/exponential_pdf.m *** octave-3.0.0/scripts/deprecated/exponential_pdf.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/exponential_pdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 25,32 **** --- 25,41 ---- ## Author: KH ## Description: PDF of the exponential distribution + ## Deprecated in version 3.0 + function pdf = exponential_pdf (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "exponential_pdf is obsolete and will be removed from a future version of Octave; please use exppdf instead"); + endif + if (nargin > 1) varargin{2} = 1 ./ varargin{2}; endif diff -cNr octave-3.0.0/scripts/deprecated/exponential_rnd.m octave-3.0.1/scripts/deprecated/exponential_rnd.m *** octave-3.0.0/scripts/deprecated/exponential_rnd.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/exponential_rnd.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 31,38 **** --- 31,47 ---- ## Author: KH ## Description: Random deviates from the exponential distribution + ## Deprecated in version 3.0 + function rnd = exponential_rnd (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "exponential_rnd is obsolete and will be removed from a future version of Octave; please use exprnd instead"); + endif + if (nargin > 0) varargin{1} = 1 ./ varargin{1}; endif diff -cNr octave-3.0.0/scripts/deprecated/f_cdf.m octave-3.0.1/scripts/deprecated/f_cdf.m *** octave-3.0.0/scripts/deprecated/f_cdf.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/f_cdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 26,33 **** --- 26,42 ---- ## Author: KH ## Description: CDF of the F distribution + ## Deprecated in version 3.0 + function cdf = f_cdf (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "f_cdf is obsolete and will be removed from a future version of Octave; please use fcdf instead"); + endif + cdf = fcdf (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/f_inv.m octave-3.0.1/scripts/deprecated/f_inv.m *** octave-3.0.0/scripts/deprecated/f_inv.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/f_inv.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 26,33 **** --- 26,42 ---- ## Author: KH ## Description: Quantile function of the F distribution + ## Deprecated in version 3.0 + function inv = f_inv (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "f_inv is obsolete and will be removed from a future version of Octave; please use finv instead"); + endif + inv = finv (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/f_pdf.m octave-3.0.1/scripts/deprecated/f_pdf.m *** octave-3.0.0/scripts/deprecated/f_pdf.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/f_pdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 26,33 **** --- 26,42 ---- ## Author: KH ## Description: PDF of the F distribution + ## Deprecated in version 3.0 + function pdf = f_pdf (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "f_pdf is obsolete and will be removed from a future version of Octave; please use fpdf instead"); + endif + pdf = fpdf (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/f_rnd.m octave-3.0.1/scripts/deprecated/f_rnd.m *** octave-3.0.0/scripts/deprecated/f_rnd.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/f_rnd.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 32,39 **** --- 32,48 ---- ## Author: KH ## Description: Random deviates from the F distribution + ## Deprecated in version 3.0 + function rnd = f_rnd (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "f_rnd is obsolete and will be removed from a future version of Octave; please use frnd instead"); + endif + rnd = frnd (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/gamma_cdf.m octave-3.0.1/scripts/deprecated/gamma_cdf.m *** octave-3.0.0/scripts/deprecated/gamma_cdf.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/gamma_cdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 26,33 **** --- 26,42 ---- ## Author: TT ## Description: CDF of the Gamma distribution + ## Deprecated in version 3.0 + function cdf = gamma_cdf (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "gamma_cdf is obsolete and will be removed from a future version of Octave; please use gamcdf instead"); + endif + if (nargin > 2) varargin{3} = 1 ./ varargin{3}; endif diff -cNr octave-3.0.0/scripts/deprecated/gamma_inv.m octave-3.0.1/scripts/deprecated/gamma_inv.m *** octave-3.0.0/scripts/deprecated/gamma_inv.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/gamma_inv.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 26,33 **** --- 26,42 ---- ## Author: KH ## Description: Quantile function of the Gamma distribution + ## Deprecated in version 3.0 + function inv = gamma_inv (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "gamma_inv is obsolete and will be removed from a future version of Octave; please use gaminv instead"); + endif + if (nargin > 2) varargin{3} = 1 ./ varargin{3}; endif diff -cNr octave-3.0.0/scripts/deprecated/gamma_pdf.m octave-3.0.1/scripts/deprecated/gamma_pdf.m *** octave-3.0.0/scripts/deprecated/gamma_pdf.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/gamma_pdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 26,33 **** --- 26,42 ---- ## Author: TT ## Description: PDF of the Gamma distribution + ## Deprecated in version 3.0 + function pdf = gamma_pdf (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "gamma_pdf is obsolete and will be removed from a future version of Octave; please use gampdf instead"); + endif + if (nargin > 2) varargin{3} = 1 ./ varargin{3}; endif diff -cNr octave-3.0.0/scripts/deprecated/gamma_rnd.m octave-3.0.1/scripts/deprecated/gamma_rnd.m *** octave-3.0.0/scripts/deprecated/gamma_rnd.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/gamma_rnd.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 31,38 **** --- 31,47 ---- ## Author: KH ## Description: Random deviates from the Gamma distribution + ## Deprecated in version 3.0 + function rnd = gamma_rnd (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "gamma_rnd is obsolete and will be removed from a future version of Octave; please use gamrnd instead"); + endif + if (nargin > 1) varargin{2} = 1 ./ varargin{2}; endif diff -cNr octave-3.0.0/scripts/deprecated/geometric_cdf.m octave-3.0.1/scripts/deprecated/geometric_cdf.m *** octave-3.0.0/scripts/deprecated/geometric_cdf.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/geometric_cdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 25,32 **** --- 25,41 ---- ## Author: KH ## Description: CDF of the geometric distribution + ## Deprecated in version 3.0 + function cdf = geometric_cdf (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "geometric_cdf is obsolete and will be removed from a future version of Octave; please use geocdf instead"); + endif + cdf = geocdf (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/geometric_inv.m octave-3.0.1/scripts/deprecated/geometric_inv.m *** octave-3.0.0/scripts/deprecated/geometric_inv.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/geometric_inv.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 25,32 **** --- 25,41 ---- ## Author: KH ## Description: Quantile function of the geometric distribution + ## Deprecated in version 3.0 + function inv = geometric_inv (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "geometric_inv is obsolete and will be removed from a future version of Octave; please use geoinv instead"); + endif + inv = geoinv (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/geometric_pdf.m octave-3.0.1/scripts/deprecated/geometric_pdf.m *** octave-3.0.0/scripts/deprecated/geometric_pdf.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/geometric_pdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 25,32 **** --- 25,41 ---- ## Author: KH ## Description: PDF of the geometric distribution + ## Deprecated in version 3.0 + function pdf = geometric_pdf (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "geometric_pdf is obsolete and will be removed from a future version of Octave; please use geopdf instead"); + endif + pdf = geopdf (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/geometric_rnd.m octave-3.0.1/scripts/deprecated/geometric_rnd.m *** octave-3.0.0/scripts/deprecated/geometric_rnd.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/geometric_rnd.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 31,38 **** --- 31,47 ---- ## Author: KH ## Description: Random deviates from the geometric distribution + ## Deprecated in version 3.0 + function rnd = geometric_rnd (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "geometric_rnd is obsolete and will be removed from a future version of Octave; please use geornd instead"); + endif + rnd = geornd (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/hypergeometric_cdf.m octave-3.0.1/scripts/deprecated/hypergeometric_cdf.m *** octave-3.0.0/scripts/deprecated/hypergeometric_cdf.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/hypergeometric_cdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 32,39 **** --- 32,48 ---- ## Author: KH ## Description: CDF of the hypergeometric distribution + ## Deprecated in version 3.0 + function cdf = hypergeometric_cdf (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "hypergeometric_cdf is obsolete and will be removed from a future version of Octave; please use hygecdf instead"); + endif + cdf = hygecdf (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/hypergeometric_inv.m octave-3.0.1/scripts/deprecated/hypergeometric_inv.m *** octave-3.0.0/scripts/deprecated/hypergeometric_inv.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/hypergeometric_inv.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 29,36 **** --- 29,45 ---- ## Author: KH ## Description: Random deviates from the hypergeometric distribution + ## Deprecated in version 3.0 + function inv = hypergeometric_inv (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "hypergeometric_inv is obsolete and will be removed from a future version of Octave; please use hygeinv instead"); + endif + inv = hygeinv (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/hypergeometric_pdf.m octave-3.0.1/scripts/deprecated/hypergeometric_pdf.m *** octave-3.0.0/scripts/deprecated/hypergeometric_pdf.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/hypergeometric_pdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 30,37 **** --- 30,46 ---- ## Author: KH ## Description: PDF of the hypergeometric distribution + ## Deprecated in version 3.0 + function pdf = hypergeometric_pdf (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "hypergeometric_pdf is obsolete and will be removed from a future version of Octave; please use hygepdf instead"); + endif + pdf = hygepdf (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/hypergeometric_rnd.m octave-3.0.1/scripts/deprecated/hypergeometric_rnd.m *** octave-3.0.0/scripts/deprecated/hypergeometric_rnd.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/hypergeometric_rnd.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1997, 2005, 2006, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1997, 2005, 2006, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 27,34 **** --- 27,43 ---- ## with @var{m} and @var{n} not greater than @var{t}. ## @end deftypefn + ## Deprecated in version 3.0 + function rnd = hypergeometric_rnd (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "hypergeometric_rnd is obsolete and will be removed from a future version of Octave; please use hygernd instead"); + endif + rnd = hygernd (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/intersection.m octave-3.0.1/scripts/deprecated/intersection.m *** octave-3.0.0/scripts/deprecated/intersection.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/intersection.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1996, 1997, 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1996, 1997, 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 23,30 **** --- 23,39 ---- ## Author: jwe + ## Deprecated in version 3.0 + function y = intersection (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "intersection is obsolete and will be removed from a future version of Octave; please use intersect instead"); + endif + y = intersect (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/is_bool.m octave-3.0.1/scripts/deprecated/is_bool.m *** octave-3.0.0/scripts/deprecated/is_bool.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/is_bool.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2002, 2005, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2002, 2005, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 23,30 **** --- 23,39 ---- ## Author: jwe + ## Deprecated in version 3.0 + function retval = is_bool (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "is_bool is obsolete and will be removed from a future version of Octave; please use isbool instead"); + endif + retval = isbool (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/is_complex.m octave-3.0.1/scripts/deprecated/is_complex.m *** octave-3.0.0/scripts/deprecated/is_complex.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/is_complex.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2002, 2005, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2002, 2005, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 23,30 **** --- 23,39 ---- ## Author: jwe + ## Deprecated in version 3.0 + function retval = is_complex (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "is_complex is obsolete and will be removed from a future version of Octave; please use iscomplex instead"); + endif + retval = iscomplex (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/is_list.m octave-3.0.1/scripts/deprecated/is_list.m *** octave-3.0.0/scripts/deprecated/is_list.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/is_list.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2002, 2005, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2002, 2005, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 23,30 **** --- 23,39 ---- ## Author: jwe + ## Deprecated in version 3.0 + function retval = is_list (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "is_list is obsolete and will be removed from a future version of Octave; please use islist instead"); + endif + retval = islist (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/is_matrix.m octave-3.0.1/scripts/deprecated/is_matrix.m *** octave-3.0.0/scripts/deprecated/is_matrix.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/is_matrix.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2002, 2005, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2002, 2005, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 23,30 **** --- 23,39 ---- ## Author: jwe + ## Deprecated in version 3.0 + function retval = is_matrix (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "is_matrix is obsolete and will be removed from a future version of Octave; please use ismatrix instead"); + endif + retval = ismatrix (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/is_scalar.m octave-3.0.1/scripts/deprecated/is_scalar.m *** octave-3.0.0/scripts/deprecated/is_scalar.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/is_scalar.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1996, 1997, 2002, 2005, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1996, 1997, 2002, 2005, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 23,30 **** --- 23,39 ---- ## Author: jwe + ## Deprecated in version 3.0 + function retval = is_scalar (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "is_scalar is obsolete and will be removed from a future version of Octave; please use isscalar instead"); + endif + retval = isscalar (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/is_square.m octave-3.0.1/scripts/deprecated/is_square.m *** octave-3.0.0/scripts/deprecated/is_square.m Fri Oct 12 17:27:19 2007 --- octave-3.0.1/scripts/deprecated/is_square.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1996, 1997, 2002, 2005, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1996, 1997, 2002, 2005, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 23,30 **** --- 23,39 ---- ## Author: jwe + ## Deprecated in version 3.0 + function retval = is_square (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "is_square is obsolete and will be removed from a future version of Octave; please use issquare instead"); + endif + retval = issquare (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/is_stream.m octave-3.0.1/scripts/deprecated/is_stream.m *** octave-3.0.0/scripts/deprecated/is_stream.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/is_stream.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2002, 2005, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2002, 2005, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 23,30 **** --- 23,39 ---- ## Author: jwe + ## Deprecated in version 3.0 + function retval = is_stream (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "is_stream is obsolete and will be removed from a future version of Octave; please use isstream instead"); + endif + retval = isstream(varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/is_struct.m octave-3.0.1/scripts/deprecated/is_struct.m *** octave-3.0.0/scripts/deprecated/is_struct.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/is_struct.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2002, 2005, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2002, 2005, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 23,30 **** --- 23,39 ---- ## Author: jwe + ## Deprecated in version 3.0 + function retval = is_struct (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "is_struct is obsolete and will be removed from a future version of Octave; please use isstruct instead"); + endif + retval = isstruct (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/is_symmetric.m octave-3.0.1/scripts/deprecated/is_symmetric.m *** octave-3.0.0/scripts/deprecated/is_symmetric.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/is_symmetric.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1996, 1997, 2002, 2005, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1996, 1997, 2002, 2005, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 23,30 **** --- 23,39 ---- ## Author: jwe + ## Deprecated in version 3.0 + function retval = is_symmetric (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "is_symmetric is obsolete and will be removed from a future version of Octave; please use issymmetric instead"); + endif + retval = issymmetric (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/is_vector.m octave-3.0.1/scripts/deprecated/is_vector.m *** octave-3.0.0/scripts/deprecated/is_vector.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/is_vector.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1996, 1997, 2002, 2005, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1996, 1997, 2002, 2005, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 23,30 **** --- 23,39 ---- ## Author: jwe + ## Deprecated in version 3.0 + function retval = is_vector (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "is_vector is obsolete and will be removed from a future version of Octave; please use isvector instead"); + endif + retval = isvector (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/isstr.m octave-3.0.1/scripts/deprecated/isstr.m *** octave-3.0.0/scripts/deprecated/isstr.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/isstr.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2003, 2005, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2003, 2005, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 23,30 **** --- 23,39 ---- ## Author: jwe + ## Deprecated in version 3.0 + function retval = isstr (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "isstr is obsolete and will be removed from a future version of Octave, please use ischar instead"); + endif + retval = ischar (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/lognormal_cdf.m octave-3.0.1/scripts/deprecated/lognormal_cdf.m *** octave-3.0.0/scripts/deprecated/lognormal_cdf.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/lognormal_cdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2006, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2006, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 30,37 **** --- 30,46 ---- ## Author: KH ## Description: CDF of the log normal distribution + ## Deprecated in version 3.0 + function cdf = lognormal_cdf (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "lognormal_cdf is obsolete and will be removed from a future version of Octave; please use logncdf instead"); + endif + if (nargin > 1) a = varargin{2}; idx = a >= 0; diff -cNr octave-3.0.0/scripts/deprecated/lognormal_inv.m octave-3.0.1/scripts/deprecated/lognormal_inv.m *** octave-3.0.0/scripts/deprecated/lognormal_inv.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/lognormal_inv.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2006, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2006, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 30,37 **** --- 30,46 ---- ## Author: KH ## Description: Quantile function of the log normal distribution + ## Deprecated in version 3.0 + function inv = lognormal_inv (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "lognormal_inv is obsolete and will be removed from a future version of Octave; please use logninv instead"); + endif + if (nargin > 1) a = varargin{2}; idx = a >= 0; diff -cNr octave-3.0.0/scripts/deprecated/lognormal_pdf.m octave-3.0.1/scripts/deprecated/lognormal_pdf.m *** octave-3.0.0/scripts/deprecated/lognormal_pdf.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/lognormal_pdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2006, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2006, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 30,37 **** --- 30,46 ---- ## Author: KH ## Description: PDF of the log normal distribution + ## Deprecated in version 3.0 + function pdf = lognormal_pdf (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "lognormal_pdf is obsolete and will be removed from a future version of Octave; please use lognpdf instead"); + endif + if (nargin > 1) a = varargin{2}; idx = a >= 0; diff -cNr octave-3.0.0/scripts/deprecated/lognormal_rnd.m octave-3.0.1/scripts/deprecated/lognormal_rnd.m *** octave-3.0.0/scripts/deprecated/lognormal_rnd.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/lognormal_rnd.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2006, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2006, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 31,38 **** --- 31,47 ---- ## Author: KH ## Description: Random deviates from the log normal distribution + ## Deprecated in version 3.0 + function rnd = lognormal_rnd (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "lognormal_rnd is obsolete and will be removed from a future version of Octave; please use lognrnd instead"); + endif + if (nargin > 1) a = varargin{2}; idx = a >= 0; diff -cNr octave-3.0.0/scripts/deprecated/meshdom.m octave-3.0.1/scripts/deprecated/meshdom.m *** octave-3.0.0/scripts/deprecated/meshdom.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/meshdom.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1996, 1997, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1996, 1997, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 23,30 **** --- 23,39 ---- ## Author: jwe + ## Deprecated in version 3.0 + function [xx, yy] = meshdom (x, y) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "meshdom is obsolete and will be removed from a future version of Octave; please use meshgrid instead"); + endif + if (nargin == 2) if (isvector (x) && isvector (y)) xx = ones (length (y), 1) * x(:).'; diff -cNr octave-3.0.0/scripts/deprecated/normal_cdf.m octave-3.0.1/scripts/deprecated/normal_cdf.m *** octave-3.0.0/scripts/deprecated/normal_cdf.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/normal_cdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 28,35 **** --- 28,44 ---- ## Author: TT ## Description: CDF of the normal distribution + ## Deprecated in version 3.0 + function cdf = normal_cdf (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "normal_cdf is obsolete and will be removed from a future version of Octave; please use normcdf instead"); + endif + if (nargin > 2) varargin{3} = sqrt (varargin{3}); endif diff -cNr octave-3.0.0/scripts/deprecated/normal_inv.m octave-3.0.1/scripts/deprecated/normal_inv.m *** octave-3.0.0/scripts/deprecated/normal_inv.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/normal_inv.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 28,35 **** --- 28,44 ---- ## Author: KH ## Description: Quantile function of the normal distribution + ## Deprecated in version 3.0 + function inv = normal_inv (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "normal_inv is obsolete and will be removed from a future version of Octave; please use norminv instead"); + endif + if (nargin > 2) varargin{3} = sqrt (varargin{3}); endif diff -cNr octave-3.0.0/scripts/deprecated/normal_pdf.m octave-3.0.1/scripts/deprecated/normal_pdf.m *** octave-3.0.0/scripts/deprecated/normal_pdf.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/normal_pdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 28,35 **** --- 28,44 ---- ## Author: TT ## Description: PDF of the normal distribution + ## Deprecated in version 3.0 + function pdf = normal_pdf (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "normal_pdf is obsolete and will be removed from a future version of Octave; please use normpdf instead"); + endif + if (nargin > 2) varargin{3} = sqrt (varargin{3}); endif diff -cNr octave-3.0.0/scripts/deprecated/normal_rnd.m octave-3.0.1/scripts/deprecated/normal_rnd.m *** octave-3.0.0/scripts/deprecated/normal_rnd.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/normal_rnd.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 31,38 **** --- 31,47 ---- ## Author: KH ## Description: Random deviates from the normal distribution + ## Deprecated in version 3.0 + function rnd = normal_rnd (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "normal_rnd is obsolete and will be removed from a future version of Octave; please use normrnd instead"); + endif + if (nargin > 1) varargin{2} = sqrt (varargin{2}); endif diff -cNr octave-3.0.0/scripts/deprecated/pascal_cdf.m octave-3.0.1/scripts/deprecated/pascal_cdf.m *** octave-3.0.0/scripts/deprecated/pascal_cdf.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/pascal_cdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 29,36 **** --- 29,45 ---- ## Author: KH ## Description: CDF of the Pascal (negative binomial) distribution + ## Deprecated in version 3.0 + function cdf = pascal_cdf (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "pascal_cdf is obsolete and will be removed from a future version of Octave; please use nbincdf instead"); + endif + cdf = nbincdf(varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/pascal_inv.m octave-3.0.1/scripts/deprecated/pascal_inv.m *** octave-3.0.0/scripts/deprecated/pascal_inv.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/pascal_inv.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 30,37 **** --- 30,46 ---- ## Author: KH ## Description: Quantile function of the Pascal distribution + ## Deprecated in version 3.0 + function inv = pascal_inv (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "pascal_inv is obsolete and will be removed from a future version of Octave; please use nbininv instead"); + endif + inv = nbininv(varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/pascal_pdf.m octave-3.0.1/scripts/deprecated/pascal_pdf.m *** octave-3.0.0/scripts/deprecated/pascal_pdf.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/pascal_pdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 30,37 **** --- 30,46 ---- ## Author: KH ## Description: PDF of the Pascal (negative binomial) distribution + ## Deprecated in version 3.0 + function pdf = pascal_pdf (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "pascal_pdf is obsolete and will be removed from a future version of Octave; please use nbinpdf instead"); + endif + pdf = nbinpdf (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/pascal_rnd.m octave-3.0.1/scripts/deprecated/pascal_rnd.m *** octave-3.0.0/scripts/deprecated/pascal_rnd.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/pascal_rnd.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 31,38 **** --- 31,47 ---- ## Author: KH ## Description: Random deviates from the Pascal distribution + ## Deprecated in version 3.0 + function rnd = pascal_rnd (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "pascal_rnd is obsolete and will be removed from a future version of Octave; please use nbinrnd instead"); + endif + rnd = nbinrnd (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/poisson_cdf.m octave-3.0.1/scripts/deprecated/poisson_cdf.m *** octave-3.0.0/scripts/deprecated/poisson_cdf.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/poisson_cdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 26,33 **** --- 26,42 ---- ## Author: KH ## Description: CDF of the Poisson distribution + ## Deprecated in version 3.0 + function cdf = poisson_cdf (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "poisson_cdf is obsolete and will be removed from a future version of Octave; please use poisscdf instead"); + endif + cdf = poisscdf (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/poisson_inv.m octave-3.0.1/scripts/deprecated/poisson_inv.m *** octave-3.0.0/scripts/deprecated/poisson_inv.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/poisson_inv.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 26,33 **** --- 26,42 ---- ## Author: KH ## Description: Quantile function of the Poisson distribution + ## Deprecated in version 3.0 + function inv = poisson_inv (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "poisson_inv is obsolete and will be removed from a future version of Octave; please use poissinv instead"); + endif + inv = poissinv (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/poisson_pdf.m octave-3.0.1/scripts/deprecated/poisson_pdf.m *** octave-3.0.0/scripts/deprecated/poisson_pdf.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/poisson_pdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 25,32 **** --- 25,41 ---- ## Author: KH ## Description: PDF of the Poisson distribution + ## Deprecated in version 3.0 + function pdf = poisson_pdf (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "poisson_pdf is obsolete and will be removed from a future version of Octave; please use poisspdf instead"); + endif + pdf = poisspdf (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/poisson_rnd.m octave-3.0.1/scripts/deprecated/poisson_rnd.m *** octave-3.0.0/scripts/deprecated/poisson_rnd.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/poisson_rnd.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 29,36 **** --- 29,45 ---- ## Author: KH ## Description: Random deviates from the Poisson distribution + ## Deprecated in version 3.0 + function rnd = poisson_rnd (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "poisson_rnd is obsolete and will be removed from a future version of Octave; please use poissrnd instead"); + endif + rnd = poissrnd (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/polyinteg.m octave-3.0.1/scripts/deprecated/polyinteg.m *** octave-3.0.0/scripts/deprecated/polyinteg.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/polyinteg.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1996, 1997, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1996, 1997, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 30,37 **** --- 30,46 ---- ## Created: June 1994 ## Adapted-By: jwe + ## Deprecated in version 3.0 + function y = polyinteg (p) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "polyinteg is obsolete and will be removed from a future version of Octave; please use polyint instead"); + endif + y = polyint (p); endfunction diff -cNr octave-3.0.0/scripts/deprecated/setstr.m octave-3.0.1/scripts/deprecated/setstr.m *** octave-3.0.0/scripts/deprecated/setstr.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/setstr.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2003, 2005, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2003, 2005, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 23,30 **** --- 23,39 ---- ## Author: jwe + ## Deprecated in version 3.0 + function retval = setstr (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "setstr is obsolete and will be removed from a future version of Octave; please use char instead"); + endif + retval = char (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/struct_contains.m octave-3.0.1/scripts/deprecated/struct_contains.m *** octave-3.0.0/scripts/deprecated/struct_contains.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/struct_contains.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2003, 2005, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2003, 2005, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 23,30 **** --- 23,39 ---- ## Author: jwe + ## Deprecated in version 3.0 + function retval = struct_contains (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "struct_contains is obsolete and will be removed from a future version of Octave; please use isfield instead"); + endif + retval = isfield (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/struct_elements.m octave-3.0.1/scripts/deprecated/struct_elements.m *** octave-3.0.0/scripts/deprecated/struct_elements.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/struct_elements.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2003, 2005, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2003, 2005, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 23,30 **** --- 23,39 ---- ## Author: jwe + ## Deprecated in version 3.0 + function retval = struct_elements (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "struct_elements is obsolete and will be removed from a future version of Octave; please use fieldnames instead"); + endif + retval = char (fieldnames (varargin{:})); endfunction diff -cNr octave-3.0.0/scripts/deprecated/t_cdf.m octave-3.0.1/scripts/deprecated/t_cdf.m *** octave-3.0.0/scripts/deprecated/t_cdf.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/t_cdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 26,33 **** --- 26,42 ---- ## Author: KH ## Description: CDF of the t distribution + ## Deprecated in version 3.0 + function cdf = t_cdf (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "t_cdf is obsolete and will be removed from a future version of Octave; please use tcdf instead"); + endif + cdf = tcdf (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/t_inv.m octave-3.0.1/scripts/deprecated/t_inv.m *** octave-3.0.0/scripts/deprecated/t_inv.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/t_inv.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 30,37 **** --- 30,46 ---- ## Author: KH ## Description: Quantile function of the t distribution + ## Deprecated in version 3.0 + function inv = t_inv (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "t_inv is obsolete and will be removed from a future version of Octave; please use tinv instead"); + endif + inv = tinv (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/t_pdf.m octave-3.0.1/scripts/deprecated/t_pdf.m *** octave-3.0.0/scripts/deprecated/t_pdf.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/t_pdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 26,33 **** --- 26,42 ---- ## Author: KH ## Description: PDF of the t distribution + ## Deprecated in version 3.0 + function pdf = t_pdf (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "t_pdf is obsolete and will be removed from a future version of Octave; please use tpdf instead"); + endif + pdf = tpdf (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/t_rnd.m octave-3.0.1/scripts/deprecated/t_rnd.m *** octave-3.0.0/scripts/deprecated/t_rnd.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/t_rnd.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2006, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2006, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 31,38 **** --- 31,47 ---- ## Author: KH ## Description: Random deviates from the t distribution + ## Deprecated in version 3.0 + function rnd = t_rnd (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "t_rnd is obsolete and will be removed from a future version of Octave; please use trnd instead"); + endif + rnd = trnd (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/uniform_cdf.m octave-3.0.1/scripts/deprecated/uniform_cdf.m *** octave-3.0.0/scripts/deprecated/uniform_cdf.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/uniform_cdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 27,34 **** --- 27,43 ---- ## Author: KH ## Description: CDF of the uniform distribution + ## Deprecated in version 3.0 + function cdf = uniform_cdf (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "uniform_cdf is obsolete and will be removed from a future version of Octave; please use unifcdf instead"); + endif + cdf = unifcdf (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/uniform_inv.m octave-3.0.1/scripts/deprecated/uniform_inv.m *** octave-3.0.0/scripts/deprecated/uniform_inv.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/uniform_inv.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 27,34 **** --- 27,43 ---- ## Author: KH ## Description: Quantile function of the uniform distribution + ## Deprecated in version 3.0 + function inv = uniform_inv (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "uniform_inv is obsolete and will be removed from a future version of Octave; please use unifinv instead"); + endif + inv = unifinv (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/uniform_pdf.m octave-3.0.1/scripts/deprecated/uniform_pdf.m *** octave-3.0.0/scripts/deprecated/uniform_pdf.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/uniform_pdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 27,34 **** --- 27,43 ---- ## Author: KH ## Description: PDF of the uniform distribution + ## Deprecated in version 3.0 + function pdf = uniform_pdf (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "uniform_pdf is obsolete and will be removed from a future version of Octave; please use unifpdf instead"); + endif + pdf = unifpdf (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/uniform_rnd.m octave-3.0.1/scripts/deprecated/uniform_rnd.m *** octave-3.0.0/scripts/deprecated/uniform_rnd.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/uniform_rnd.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 30,37 **** --- 30,46 ---- ## Author: KH ## Description: Random deviates from the uniform distribution + ## Deprecated in version 3.0 + function rnd = uniform_rnd (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "uniform_rnd is obsolete and will be removed from a future version of Octave; please use unifrnd instead"); + endif + rnd = unifrnd (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/weibcdf.m octave-3.0.1/scripts/deprecated/weibcdf.m *** octave-3.0.0/scripts/deprecated/weibcdf.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/weibcdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 30,37 **** --- 30,46 ---- ## for @var{x} >= 0. ## @end deftypefn + ## Deprecated in version 3.0 + function cdf = weibcdf (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "weibcdf is obsolete and will be removed from a future version of Octave; please use wblcdf instead"); + endif + cdf = wblcdf (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/weibinv.m octave-3.0.1/scripts/deprecated/weibinv.m *** octave-3.0.0/scripts/deprecated/weibinv.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/weibinv.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 23,30 **** --- 23,39 ---- ## parameter @var{shape}. ## @end deftypefn + ## Deprecated in version 3.0 + function inv = weibinv (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "weibinv is obsolete and will be removed from a future version of Octave; please use wblinv instead"); + endif + inv = wblinv (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/weibpdf.m octave-3.0.1/scripts/deprecated/weibpdf.m *** octave-3.0.0/scripts/deprecated/weibpdf.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/weibpdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 30,37 **** --- 30,46 ---- ## for @var{x} > 0. ## @end deftypefn + ## Deprecated in version 3.0 + function pdf = weibpdf (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "weibpdf is obsolete and will be removed from a future version of Octave; please use wblpdf instead"); + endif + pdf = wblpdf (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/weibrnd.m octave-3.0.1/scripts/deprecated/weibrnd.m *** octave-3.0.0/scripts/deprecated/weibrnd.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/weibrnd.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 28,35 **** --- 28,44 ---- ## the common size of @var{alpha} and @var{sigma}. ## @end deftypefn + ## Deprecated in version 3.0 + function rnd = weibrnd (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "weibrnd is obsolete and will be removed from a future version of Octave; please use wblrnd instead"); + endif + rnd = wblrnd (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/deprecated/weibull_cdf.m octave-3.0.1/scripts/deprecated/weibull_cdf.m *** octave-3.0.0/scripts/deprecated/weibull_cdf.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/weibull_cdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2005, 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2005, 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 30,37 **** --- 30,46 ---- ## for @var{x} >= 0. ## @end deftypefn + ## Deprecated in version 3.0 + function cdf = weibull_cdf (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "weibull_cdf is obsolete and will be removed from a future version of Octave; please use wblcdf instead"); + endif + if (nargin == 2) varargin{3} = varargin{2}; varargin{2} = 1; diff -cNr octave-3.0.0/scripts/deprecated/weibull_inv.m octave-3.0.1/scripts/deprecated/weibull_inv.m *** octave-3.0.0/scripts/deprecated/weibull_inv.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/weibull_inv.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2005, 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2005, 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 23,30 **** --- 23,39 ---- ## parameter @var{shape}. ## @end deftypefn + ## Deprecated in version 3.0 + function inv = weibull_inv (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "weibull_inv is obsolete and will be removed from a future version of Octave; please use wblinv instead"); + endif + if (nargin == 2) varargin{3} = varargin{2}; varargin{2} = 1; diff -cNr octave-3.0.0/scripts/deprecated/weibull_pdf.m octave-3.0.1/scripts/deprecated/weibull_pdf.m *** octave-3.0.0/scripts/deprecated/weibull_pdf.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/weibull_pdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2005, 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2005, 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 30,37 **** --- 30,46 ---- ## for @var{x} > 0. ## @end deftypefn + ## Deprecated in version 3.0 + function pdf = weibull_pdf (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "weibull_pdf is obsolete and will be removed from a future version of Octave; please use wblpdf instead"); + endif + if (nargin == 2) varargin{3} = varargin{2}; varargin{2} = 1; diff -cNr octave-3.0.0/scripts/deprecated/weibull_rnd.m octave-3.0.1/scripts/deprecated/weibull_rnd.m *** octave-3.0.0/scripts/deprecated/weibull_rnd.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/weibull_rnd.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2005, 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2005, 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 28,35 **** --- 28,44 ---- ## the common size of @var{alpha} and @var{sigma}. ## @end deftypefn + ## Deprecated in version 3.0 + function rnd = weibull_rnd (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "weibull_rnd is obsolete and will be removed from a future version of Octave; please use wblrnd instead"); + endif + if (nargin > 1) tmp = varargin{2}; varargin{2} = varargin{1}; diff -cNr octave-3.0.0/scripts/deprecated/wiener_rnd.m octave-3.0.1/scripts/deprecated/wiener_rnd.m *** octave-3.0.0/scripts/deprecated/wiener_rnd.m Fri Oct 12 17:27:20 2007 --- octave-3.0.1/scripts/deprecated/wiener_rnd.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007 Friedrich Leisch ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2007, 2008 Friedrich Leisch ## ## This file is part of Octave. ## *************** *** 31,38 **** --- 31,47 ---- ## Author: FL ## Description: Simulate a Wiener process + ## Deprecated in version 3.0 + function retval = wiener_rnd (varargin) + persistent warned = false; + if (! warned) + warned = true; + warning ("Octave:deprecated-function", + "wiener_rnd is obsolete and will be removed from a future version of Octave; please use wienrnd instead"); + endif + retval = wienrnd (varargin{:}); endfunction diff -cNr octave-3.0.0/scripts/general/Makefile.in octave-3.0.1/scripts/general/Makefile.in *** octave-3.0.0/scripts/general/Makefile.in Mon Dec 10 20:54:19 2007 --- octave-3.0.1/scripts/general/Makefile.in Mon Apr 21 12:00:20 2008 *************** *** 1,6 **** # Makefile for octave's scripts/general directory # ! # Copyright (C) 1994, 1995, 1996, 1997, 2002, 2005, 2006, 2007 # John W. Eaton # # This file is part of Octave. --- 1,6 ---- # Makefile for octave's scripts/general directory # ! # Copyright (C) 1994, 1995, 1996, 1997, 2002, 2005, 2006, 2007, 2008 # John W. Eaton # # This file is part of Octave. *************** *** 42,48 **** isscalar.m issquare.m issymmetric.m isvector.m logical.m logspace.m \ lookup.m mod.m nargchk.m nextpow2.m nthroot.m num2str.m perror.m \ pol2cart.m polyarea.m postpad.m prepad.m quadl.m randperm.m rat.m rem.m \ ! repmat.m rot90.m rotdim.m shift.m shiftdim.m sortrows.m \ sph2cart.m strerror.m structfun.m sub2ind.m trapz.m tril.m triu.m DISTFILES = $(addprefix $(srcdir)/, Makefile.in $(SOURCES)) --- 42,48 ---- isscalar.m issquare.m issymmetric.m isvector.m logical.m logspace.m \ lookup.m mod.m nargchk.m nextpow2.m nthroot.m num2str.m perror.m \ pol2cart.m polyarea.m postpad.m prepad.m quadl.m randperm.m rat.m rem.m \ ! repmat.m rot90.m rotdim.m runlength.m shift.m shiftdim.m sortrows.m \ sph2cart.m strerror.m structfun.m sub2ind.m trapz.m tril.m triu.m DISTFILES = $(addprefix $(srcdir)/, Makefile.in $(SOURCES)) diff -cNr octave-3.0.0/scripts/general/circshift.m octave-3.0.1/scripts/general/circshift.m *** octave-3.0.0/scripts/general/circshift.m Fri Oct 12 17:27:21 2007 --- octave-3.0.1/scripts/general/circshift.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2004, 2005, 2006, 2007 David Bateman ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2004, 2005, 2006, 2007, 2008 David Bateman ## ## This file is part of Octave. ## *************** *** 48,84 **** function y = circshift (x, n) if (nargin == 2) ! nd = ndims (x); ! sz = size (x); ! if (! isvector (n) && length (n) > nd) ! error ("circshift: n must be a vector, no longer than the number of dimension in x"); ! endif ! if (any (n != floor (n))) ! error ("circshift: all values of n must be integers"); ! endif ! ! idx = cell (); ! for i = 1:length (n); ! nn = n(i); ! if (nn < 0) ! while (sz(i) <= -nn) ! nn = nn + sz(i); ! endwhile ! idx{i} = [(1-nn):sz(i), 1:-nn]; ! else ! while (sz(i) <= nn) ! nn = nn - sz(i); ! endwhile ! idx{i} = [(sz(i)-nn+1):sz(i), 1:(sz(i)-nn)]; endif ! endfor ! for i = (length(n) + 1) : nd ! idx{i} = 1:sz(i); ! endfor ! y = x(idx{:}); else print_usage (); endif endfunction --- 48,96 ---- function y = circshift (x, n) if (nargin == 2) ! if (isempty (x)) ! y = x; ! else ! nd = ndims (x); ! sz = size (x); ! if (! isvector (n) && length (n) > nd) ! error ("circshift: n must be a vector, no longer than the number of dimension in x"); ! endif ! if (any (n != floor (n))) ! error ("circshift: all values of n must be integers"); endif ! ! idx = cell (); ! for i = 1:length (n); ! nn = n(i); ! if (nn < 0) ! while (sz(i) <= -nn) ! nn = nn + sz(i); ! endwhile ! idx{i} = [(1-nn):sz(i), 1:-nn]; ! else ! while (sz(i) <= nn) ! nn = nn - sz(i); ! endwhile ! idx{i} = [(sz(i)-nn+1):sz(i), 1:(sz(i)-nn)]; ! endif ! endfor ! for i = (length(n) + 1) : nd ! idx{i} = 1:sz(i); ! endfor ! y = x(idx{:}); ! endif else print_usage (); endif endfunction + + %!shared x + %! x = [1, 2, 3; 4, 5, 6; 7, 8, 9]; + + %!assert (circshift (x, 1), [7, 8, 9; 1, 2, 3; 4, 5, 6]) + %!assert (circshift (x, -2), [7, 8, 9; 1, 2, 3; 4, 5, 6]) + %!assert (circshift (x, [0, 1]), [3, 1, 2; 6, 4, 5; 9, 7, 8]); + %!assert (circshift ([],1), []) diff -cNr octave-3.0.0/scripts/general/del2.m octave-3.0.1/scripts/general/del2.m *** octave-3.0.0/scripts/general/del2.m Fri Oct 12 17:27:21 2007 --- octave-3.0.1/scripts/general/del2.m Mon Apr 21 12:00:20 2008 *************** *** 1,5 **** ! ## Copyright (C) 2000, 2007 Kai Habel ! ## Copyright (C) 2007 David Bateman ## ## This file is part of Octave. ## --- 1,5 ---- ! ## Copyright (C) 2000, 2007, 2008 Kai Habel ! ## Copyright (C) 2007, 2008 David Bateman ## ## This file is part of Octave. ## *************** *** 72,78 **** if (nargin == 1) h = 1; else ! h = varargin{1} endif for i = 1 : nd if (isscalar (h)) --- 72,78 ---- if (nargin == 1) h = 1; else ! h = varargin{1}; endif for i = 1 : nd if (isscalar (h)) diff -cNr octave-3.0.0/scripts/general/logical.m octave-3.0.1/scripts/general/logical.m *** octave-3.0.0/scripts/general/logical.m Fri Oct 12 17:27:21 2007 --- octave-3.0.1/scripts/general/logical.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1996, 1997, 1998, 2000, 2005, 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1996, 1997, 1998, 2000, 2005, 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 37,44 **** function y = logical (x) if (nargin == 1) ! if (islogical (x) || isempty (x)) y = x; elseif (isnumeric (x)) y = x != 0; else --- 37,46 ---- function y = logical (x) if (nargin == 1) ! if (islogical (x)) y = x; + elseif (isempty (x)) + y = zeros (size (x), "logical"); elseif (isnumeric (x)) y = x != 0; else *************** *** 49,51 **** --- 51,62 ---- endif endfunction + + %!assert (logical ([]), zeros ([0, 0], "logical")); + %!assert (logical (zeros (2, 0)), zeros ([2, 0], "logical")); + %!assert (logical (0), false); + %!assert (logical (13), true); + %!assert (logical (-13), true); + %!assert (logical (int8 (13)), true); + %!assert (logical (int8 (-13)), true); + %!assert (logical ([-1, 0, 1, NaN, Inf]), [-1, 0, 1, NaN, Inf] != 0); diff -cNr octave-3.0.0/scripts/general/rotdim.m octave-3.0.1/scripts/general/rotdim.m *** octave-3.0.0/scripts/general/rotdim.m Fri Oct 12 17:27:22 2007 --- octave-3.0.1/scripts/general/rotdim.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2004, 2005, 2006, 2007 David Bateman ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2004, 2005, 2006, 2007, 2008 David Bateman ## ## This file is part of Octave. ## *************** *** 58,65 **** endif if (nargin > 1 && ! isempty(k)) ! if (imag (k) != 0 || fix (k) != k) ! error ("rotdim: k must be an integer"); endif else k = 1; --- 58,65 ---- endif if (nargin > 1 && ! isempty(k)) ! if (!isscalar (k) || imag (k) != 0 || fix (k) != k) ! error ("rotdim: k must be an scalar integer"); endif else k = 1; diff -cNr octave-3.0.0/scripts/general/runlength.m octave-3.0.1/scripts/general/runlength.m *** octave-3.0.0/scripts/general/runlength.m Wed Dec 31 19:00:00 1969 --- octave-3.0.1/scripts/general/runlength.m Mon Apr 21 11:58:40 2008 *************** *** 0 **** --- 1,36 ---- + ## Copyright (C) 2005, 2008 Paul Kienzle + ## + ## 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 + ## . + + ## -*- texinfo -*- + ## @deftypefn {Function File} {} runlength (@var{x}) + ## Find the lengths of all sequences of common values. Return the + ## vector of lengths and the value that was repeated. + ## + ## @example + ## runlength ([2, 2, 0, 4, 4, 4, 0, 1, 1, 1, 1]) + ## @result{} [2, 1, 3, 1, 4] + ## @end example + ## @end deftypefn + + function [count, value] = runlength (x) + idx = [find(x(1:end-1) != x(2:end)), length(x)]; + value = x(idx); + count = diff ([0 idx]); + endfunction + + %!assert (runlength([2 2 0 4 4 4 0 1 1 1 1]), [2 1 3 1 4]); diff -cNr octave-3.0.0/scripts/general/sortrows.m octave-3.0.1/scripts/general/sortrows.m *** octave-3.0.0/scripts/general/sortrows.m Fri Oct 12 17:27:22 2007 --- octave-3.0.1/scripts/general/sortrows.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2000, 2005, 2007 Daniel Calvelo ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2000, 2005, 2007, 2008 Daniel Calvelo ## ## This file is part of Octave. ## *************** *** 20,37 **** ## @deftypefn {Function File} {} sortrows (@var{a}, @var{c}) ## Sort the rows of the matrix @var{a} according to the order of the ## columns specified in @var{c}. If @var{c} is omitted, a ! ## lexicographical sort is used. ## @end deftypefn ## Author: Daniel Calvelo, Paul Kienzle ## Adapted-by: jwe function [s, i] = sortrows (m, c) ! if (nargin < 2) indices = [1:size(m,2)]'; else ! indices = c(:); endif if (ischar (m)) --- 20,49 ---- ## @deftypefn {Function File} {} sortrows (@var{a}, @var{c}) ## Sort the rows of the matrix @var{a} according to the order of the ## columns specified in @var{c}. If @var{c} is omitted, a ! ## lexicographical sort is used. By default ascending order is used ! ## however if elements of @var{c} are negative then the corrosponding ! ## column is sorted in descending order. ## @end deftypefn ## Author: Daniel Calvelo, Paul Kienzle ## Adapted-by: jwe function [s, i] = sortrows (m, c) ! ! default_mode = "ascend"; ! other_mode = "descend"; if (nargin < 2) indices = [1:size(m,2)]'; + mode{1:size(m,2)} = default_mode; else ! for ii = 1:length (c); ! if (c(ii) < 0) ! mode{ii} = other_mode; ! else ! mode{ii} = default_mode; ! endif ! endfor ! indices = abs(c(:)); endif if (ischar (m)) *************** *** 45,53 **** ## will make sure that identical elements in index i are subsorted by ## index j. indices = flipud (indices); i = [1:size(m,1)]'; for ii = 1:length (indices); ! [trash, idx] = sort (s(:,indices(ii))); s = s(idx,:); i = i(idx); endfor --- 57,66 ---- ## will make sure that identical elements in index i are subsorted by ## index j. indices = flipud (indices); + mode = flipud (mode'); i = [1:size(m,1)]'; for ii = 1:length (indices); ! [trash, idx] = sort (s(:,indices(ii)), mode{ii}); s = s(idx,:); i = i(idx); endfor *************** *** 57,59 **** --- 70,77 ---- endif endfunction + + %!shared x, idx + %! [x, idx] = sortrows ([1, 1; 1, 2; 3, 6; 2, 7], [1, -2]); + %!assert (x, [1, 2; 1, 1; 2, 7; 3, 6]); + %!assert (idx, [2; 1; 4; 3]); diff -cNr octave-3.0.0/scripts/geometry/griddata3.m octave-3.0.1/scripts/geometry/griddata3.m *** octave-3.0.0/scripts/geometry/griddata3.m Fri Oct 12 17:27:22 2007 --- octave-3.0.1/scripts/geometry/griddata3.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2007 David Bateman ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2007, 2008 David Bateman ## ## This file is part of Octave. ## *************** *** 30,36 **** ## Author: David Bateman ! function [yi] = griddata3 (x, y, z,v, xi, yi, zi, method, varargin) if (nargin < 7) print_usage (); --- 30,36 ---- ## Author: David Bateman ! function vi = griddata3 (x, y, z, v, xi, yi, zi, method, varargin) if (nargin < 7) print_usage (); *************** *** 48,57 **** endif if (any (size(xi) != size(yi)) || any (size(xi) != size(zi))) ! error ("griddata: xi, yi and zi must be vectors or matrices of same size"); endif ! vi = gridata ([x(:), y(:), z(:)], v(:), [xi(:), yi(:), zi(:)], varargin{:}); vi = reshape (vi, size (xi)); endfunction --- 48,80 ---- endif if (any (size(xi) != size(yi)) || any (size(xi) != size(zi))) ! error ("griddata3: xi, yi and zi must be vectors or matrices of same size"); endif ! vi = griddatan ([x(:), y(:), z(:)], v(:), [xi(:), yi(:), zi(:)], varargin{:}); vi = reshape (vi, size (xi)); endfunction + %!test + %! rand('state', 0); + %! x = 2 * rand(1000, 1) - 1; + %! y = 2 * rand(1000, 1) - 1; + %! z = 2 * rand(1000, 1) - 1; + %! v = x.^2 + y.^2 + z.^2; + %! [xi, yi, zi] = meshgrid (-0.8:0.2:0.8); + %! ##vi = reshape (griddatan([x(:), y(:), z(:)], v, [xi(:), yi(:), zi(:)], 'linear'), size (xi)); + %! vi = griddata3 (x, y, z, v, xi, yi, zi, 'linear'); + %! vv = vi - xi.^2 - yi.^2 - zi.^2; + %! assert (max(abs(vv(:))), 0, 0.1) + + %!test + %! rand('state', 0); + %! x = 2 * rand(1000, 1) - 1; + %! y = 2 * rand(1000, 1) - 1; + %! z = 2 * rand(1000, 1) - 1; + %! v = x.^2 + y.^2 + z.^2; + %! [xi, yi, zi] = meshgrid (-0.8:0.2:0.8); + %! ##vi = reshape (griddatan([x(:), y(:), z(:)], v, [xi(:), yi(:), zi(:)], 'linear'), size (xi)); + %! vi = griddata3 (x, y, z, v, xi, yi, zi, 'nearest'); + %! vv = vi - xi.^2 - yi.^2 - zi.^2; + %! assert (max(abs(vv(:))), 0, 0.1) diff -cNr octave-3.0.0/scripts/image/__img__.m octave-3.0.1/scripts/image/__img__.m *** octave-3.0.0/scripts/image/__img__.m Mon Dec 10 15:09:59 2007 --- octave-3.0.1/scripts/image/__img__.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1996, 1997, 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1996, 1997, 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 54,60 **** ca = gca (); tmp = __go_image__ (ca, "cdata", img, "xdata", xlim, "ydata", ylim, ! varargin {:}); set (ca, "view", [0, 90]); --- 54,60 ---- ca = gca (); tmp = __go_image__ (ca, "cdata", img, "xdata", xlim, "ydata", ylim, ! "cdatamapping", "direct", varargin {:}); set (ca, "view", [0, 90]); diff -cNr octave-3.0.0/scripts/image/imagesc.m octave-3.0.1/scripts/image/imagesc.m *** octave-3.0.0/scripts/image/imagesc.m Tue Nov 27 21:32:42 2007 --- octave-3.0.1/scripts/image/imagesc.m Mon Apr 21 12:00:20 2008 *************** *** 1,5 **** ## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003, ! ## 2004, 2005, 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,5 ---- ## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003, ! ## 2004, 2005, 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 109,114 **** --- 109,115 ---- endif ret = image (ax, x, y, A); + set (ret, "cdatamapping", "scaled") ## use given limits or guess them from the matrix if (length (limits) == 2 && limits(2) >= limits(1)) diff -cNr octave-3.0.0/scripts/image/imshow.m octave-3.0.1/scripts/image/imshow.m *** octave-3.0.0/scripts/image/imshow.m Fri Dec 21 12:45:15 2007 --- octave-3.0.1/scripts/image/imshow.m Mon Apr 21 12:00:20 2008 *************** *** 1,5 **** ## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2004, 2005, ! ## 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,5 ---- ## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2004, 2005, ! ## 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 166,171 **** --- 166,172 ---- tmp = image (round ((rows (colormap ()) - 1) * im)); endif set (gca (), "visible", "off"); + axis ("image"); if (nargout > 0) h = tmp; diff -cNr octave-3.0.0/scripts/linear-algebra/cond.m octave-3.0.1/scripts/linear-algebra/cond.m *** octave-3.0.0/scripts/linear-algebra/cond.m Fri Oct 12 17:27:22 2007 --- octave-3.0.1/scripts/linear-algebra/cond.m Mon Apr 21 12:00:20 2008 *************** *** 1,5 **** ## Copyright (C) 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2003, 2004, ! ## 2005, 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,5 ---- ## Copyright (C) 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2003, 2004, ! ## 2005, 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 18,57 **** ## . ## -*- texinfo -*- ! ## @deftypefn {Function File} {} cond (@var{a}) ! ## Compute the (two-norm) condition number of a matrix. @code{cond (a)} is ! ## defined as @code{norm (a) * norm (inv (a))}, and is computed via a ! ## singular value decomposition. ! ## @seealso{norm, svd, rank} ## @end deftypefn ## Author: jwe ! function retval = cond (a) ! if (nargin == 1) if (ndims (a) > 2) ! error ("cond: Only valid on 2-D objects") endif ! [nr, nc] = size (a); ! if (nr == 0 || nc == 0) ! retval = 0.0; endif ! if (any (any (isinf (a) | isnan (a)))) ! error ("cond: argument must not contain Inf or NaN values"); ! else ! sigma = svd (a); ! sigma_1 = sigma(1); ! sigma_n = sigma(length (sigma)); ! if (sigma_1 == 0 || sigma_n == 0) ! retval = Inf; else ! retval = sigma_1 / sigma_n; endif endif else print_usage (); endif endfunction --- 18,83 ---- ## . ## -*- texinfo -*- ! ## @deftypefn {Function File} {} cond (@var{a},@var{p}) ! ## Compute the @var{p}-norm condition number of a matrix. @code{cond (@var{a})} is ! ## defined as @code{norm (@var{a}, @var{p}) * norm (inv (@var{a}), @var{p})}. ! ## By default @code{@var{p}=2} is used which implies a (relatively slow) ! ## singular value decomposition. Other possible selections are ! ## @code{@var{p}= 1, Inf, inf, 'Inf', 'fro'} which are generally faster. ! ## @seealso{norm, inv, det, svd, rank} ## @end deftypefn ## Author: jwe ! function retval = cond (a, p) ! if (nargin && nargin < 3) if (ndims (a) > 2) ! error ("cond: only valid on 2-D objects") endif ! if (nargin <2) ! p = 2; endif ! ! if (! isstr (p) && p == 2) ! [nr, nc] = size (a); ! if (nr == 0 || nc == 0) ! retval = 0.0; ! elseif (any (any (isinf (a) | isnan (a)))) ! error ("cond: argument must not contain Inf or NaN values"); else ! sigma = svd (a); ! sigma_1 = sigma(1); ! sigma_n = sigma(end); ! if (sigma_1 == 0 || sigma_n == 0) ! retval = Inf; ! else ! retval = sigma_1 / sigma_n; ! endif endif + else + retval = norm (a, p) * norm (inv (a), p); endif else print_usage (); endif endfunction + + %!test + %! y= [7, 2, 3; 1, 3, 4; 6, 4, 5]; + %! tol = 1e-6; + %! type = {1, 2, 'fro', 'inf', inf}; + %! for n = 1:numel(type) + %! rcondition(n) = 1 / cond (y, type{n}); + %! endfor + %! assert (rcondition, [0.017460, 0.019597, 0.018714, 0.012022, 0.012022], tol); + + %!assert (abs (cond ([1, 2; 2, 1]) - 3) < sqrt (eps)); + + %!assert (cond ([1, 2, 3; 4, 5, 6; 7, 8, 9]) > 1.0e+16); + + %!error cond (); + + %!error cond (1, 2, 3); diff -cNr octave-3.0.0/scripts/linear-algebra/trace.m octave-3.0.1/scripts/linear-algebra/trace.m *** octave-3.0.0/scripts/linear-algebra/trace.m Fri Oct 12 17:27:23 2007 --- octave-3.0.1/scripts/linear-algebra/trace.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1993, 1994, 1995, 1996, 1997, 1999, 2005, 2006, 2007 ## John W. Eaton ## ## This file is part of Octave. --- 1,4 ---- ! ## Copyright (C) 1993, 1994, 1995, 1996, 1997, 1999, 2005, 2006, 2007, 2008 ## John W. Eaton ## ## This file is part of Octave. *************** *** 30,37 **** print_usage (); endif ! [nr, nc] = size (x); ! if (nr == 1 || nc == 1) y = x(1); else y = sum (diag (x)); --- 30,40 ---- print_usage (); endif ! if (ndims (x) > 2) ! error ("trace: only valid on 2-D objects"); ! elseif (isempty (x)) ! y = 0; ! elseif (any (size (x) == 1)) y = x(1); else y = sum (diag (x)); diff -cNr octave-3.0.0/scripts/miscellaneous/cast.m octave-3.0.1/scripts/miscellaneous/cast.m *** octave-3.0.0/scripts/miscellaneous/cast.m Fri Oct 12 02:41:08 2007 --- octave-3.0.1/scripts/miscellaneous/cast.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 30,36 **** if (ischar (typ)) if (any (strcmp (typ, {"int8"; "uint8"; "int16"; "uint16"; "int32"; "uint32"; "int64"; "uint64"; ! "double"; "single"}))) retval = feval (typ, val); else error ("cast: type name `%s' is not a built-in type", typ); --- 30,36 ---- if (ischar (typ)) if (any (strcmp (typ, {"int8"; "uint8"; "int16"; "uint16"; "int32"; "uint32"; "int64"; "uint64"; ! "double"; "single"; "logical"}))) retval = feval (typ, val); else error ("cast: type name `%s' is not a built-in type", typ); diff -cNr octave-3.0.0/scripts/miscellaneous/copyfile.m octave-3.0.1/scripts/miscellaneous/copyfile.m *** octave-3.0.0/scripts/miscellaneous/copyfile.m Fri Oct 12 17:27:23 2007 --- octave-3.0.1/scripts/miscellaneous/copyfile.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2005, 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2005, 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 76,81 **** --- 76,84 ---- ## Protect the file name(s). f1 = glob (f1); + if (isempty (f1)) + error ("copyfile: no files to move"); + endif p1 = sprintf ("\"%s\" ", f1{:}); p2 = tilde_expand (f2); diff -cNr octave-3.0.0/scripts/miscellaneous/edit.m octave-3.0.1/scripts/miscellaneous/edit.m *** octave-3.0.0/scripts/miscellaneous/edit.m Thu Dec 20 12:53:36 2007 --- octave-3.0.1/scripts/miscellaneous/edit.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2001, 2007 Paul Kienzle ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2001, 2007, 2008 Paul Kienzle ## ## This file is part of Octave. ## *************** *** 192,200 **** path = file_in_loadpath (file); else ## Otherwise try file.cc, and if that fails, default to file.m. ! path = file_in_loadpath (fullfile (file, ".cc")); if (isempty (path)) ! file = fullfile (file, ".m"); path = file_in_loadpath (file); endif endif --- 192,200 ---- path = file_in_loadpath (file); else ## Otherwise try file.cc, and if that fails, default to file.m. ! path = file_in_loadpath (strcat (file, ".cc")); if (isempty (path)) ! file = strcat (file, ".m"); path = file_in_loadpath (file); endif endif *************** *** 263,270 **** ## Fill in the revision string. now = localtime (time); ! revs = strcat (strftime ("%Y-%m-%d", now), " ", FUNCTION.AUTHOR, " ", ! FUNCTION.EMAIL, "\n* Initial revision"); ## Fill in the copyright string. copyright = strcat (strftime ("Copyright (C) %Y ", now), FUNCTION.AUTHOR); --- 263,269 ---- ## Fill in the revision string. now = localtime (time); ! revs = strcat ("Created: ", strftime ("%Y-%m-%d", now)); ## Fill in the copyright string. copyright = strcat (strftime ("Copyright (C) %Y ", now), FUNCTION.AUTHOR); *************** *** 291,297 **** along with this program; if not, write to the Free Software\n\ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\ "); ! tail = strcat (author, "\n\n", revs); case "BSD" head = strcat (copyright, "\n\n", "\ --- 290,296 ---- along with this program; if not, write to the Free Software\n\ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\ "); ! tail = strcat (author, "\n", revs); case "BSD" head = strcat (copyright, "\n\n", "\ *************** *** 317,334 **** OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n\ SUCH DAMAGE.\ "); ! tail = strcat (author, "\n\n", revs); case "PD" head = ""; ! tail = strcat (author, "\n\n", ! "This program is granted to the public domain\n\n", ! revs); otherwise head = ""; tail = strcat (copyright, "\n\n", FUNCTION.LICENSE, "\n", ! author, "\n\n", revs); endswitch ## Generate the function template. --- 316,332 ---- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n\ SUCH DAMAGE.\ "); ! tail = strcat (author, "\n", revs); case "PD" head = ""; ! tail = strcat (author, "\n", revs, "\n\n", ! "This program is granted to the public domain."); otherwise head = ""; tail = strcat (copyright, "\n\n", FUNCTION.LICENSE, "\n", ! author, "\n", revs); endswitch ## Generate the function template. *************** *** 401,411 **** endfunction ! ## default_user (form) ! ## Returns the name associated with the current user ID. ## ! ## If form==1 return the full name. This will be the ! ## default author. If form==0 return the login name. ## login@host will be the default email address. function ret = default_user (long_form) --- 399,408 ---- endfunction ! ## Return the name associated with the current user ID. ## ! ## If LONG_FORM is 1, return the full name. This will be the ! ## default author. Otherwise return the login name. ## login@host will be the default email address. function ret = default_user (long_form) *************** *** 418,423 **** --- 415,424 ---- endif elseif (long_form) ret = ent.gecos; + pos = strfind (ret, ","); + if (! isempty (pos)) + ret = ret(1:pos-1); + endif else ret = ent.name; endif diff -cNr octave-3.0.0/scripts/miscellaneous/fullfile.m octave-3.0.1/scripts/miscellaneous/fullfile.m *** octave-3.0.0/scripts/miscellaneous/fullfile.m Tue Dec 11 12:19:44 2007 --- octave-3.0.1/scripts/miscellaneous/fullfile.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2003, 2005, 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2003, 2005, 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 25,66 **** function filename = fullfile (varargin) if (nargin > 0) ! filename = ""; ! for first = 1:nargin ! tmp = varargin{first}; ! if (! isempty (tmp)) ! filename = tmp; ! break; endif ! endfor ! for i = first+1:nargin ! tmp = varargin{i}; ! if (! isempty (tmp)) ! if (strcmp (tmp(1), filesep)) ! tmp(1) = ""; ! endif ! if (i < nargin && strcmp (tmp(end), filesep)) tmp(end) = ""; ! endif ! filename = strcat (filename, filesep, tmp); ! endif ! endfor else print_usage (); endif endfunction %!assert (fullfile (""), "") ! %!assert (fullfile (filesep ()), filesep ()) ! %!assert (fullfile ("", filesep ()), filesep ()) ! %!assert (fullfile (filesep (), ""), filesep ()) ! %!assert (fullfile ("", filesep ()), filesep ()) ! %!assert (fullfile ("foo"), "foo") ! %!assert (fullfile ("", "foo"), "foo") ! %!assert (fullfile ("foo", ""), "foo") ! %!assert (fullfile ("", "foo", ""), "foo") ! %!assert (fullfile ("foo", "bar"), strcat ("foo", filesep (), "bar")) ! %!assert (fullfile ("foo", "", "bar"), strcat ("foo", filesep (), "bar")) ! %!assert (fullfile ("foo", "", "bar", ""), strcat ("foo", filesep (), "bar")) ! %!assert (fullfile ("", "foo", "", "bar", ""), strcat ("foo", filesep (), "bar")) --- 25,80 ---- function filename = fullfile (varargin) if (nargin > 0) ! ## Discard all empty arguments ! varargin(cellfun (@isempty, varargin)) = []; ! nargs = numel (varargin); ! if (nargs > 1) ! filename = varargin{1}; ! if (strcmp (filename(end), filesep)) ! filename(end) = ""; endif ! for i = 2:nargs ! tmp = varargin{i}; ! if (i < nargs && strcmp (tmp(end), filesep)) tmp(end) = ""; ! elseif (i == nargs && strcmp (tmp, filesep)) ! tmp = ""; ! endif ! filename = strcat (filename, filesep, tmp); ! endfor ! elseif (nargs == 1) ! filename = varargin{1}; ! else ! filename = ""; ! endif else print_usage (); endif endfunction + %!shared fs, fsx, xfs, fsxfs, xfsy + %! fs = filesep (); + %! fsx = strcat (fs, "x"); + %! xfs = strcat ("x", fs); + %! fsxfs = strcat (fs, "x", fs); + %! xfsy = strcat ("x", fs, "y"); %!assert (fullfile (""), "") ! %!assert (fullfile (fs), fs) ! %!assert (fullfile ("", fs), fs) ! %!assert (fullfile (fs, ""), fs) ! %!assert (fullfile ("", fs), fs) ! %!assert (fullfile ("x"), "x") ! %!assert (fullfile ("", "x"), "x") ! %!assert (fullfile ("x", ""), "x") ! %!assert (fullfile ("", "x", ""), "x") ! %!assert (fullfile ("x", "y"), xfsy) ! %!assert (fullfile ("x", "", "y"), xfsy) ! %!assert (fullfile ("x", "", "y", ""), xfsy) ! %!assert (fullfile ("", "x", "", "y", ""), xfsy) ! %!assert (fullfile (fs), fs) ! %!assert (fullfile (fs, fs), fs) ! %!assert (fullfile (fs, "x"), fsx) ! %!assert (fullfile (fs, xfs), fsxfs) ! %!assert (fullfile (fsx, fs), fsxfs) ! %!assert (fullfile (fs, "x", fs), fsxfs) diff -cNr octave-3.0.0/scripts/miscellaneous/movefile.m octave-3.0.1/scripts/miscellaneous/movefile.m *** octave-3.0.0/scripts/miscellaneous/movefile.m Fri Oct 12 17:27:23 2007 --- octave-3.0.1/scripts/miscellaneous/movefile.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2005, 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2005, 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 75,80 **** --- 75,83 ---- ## Protect the file name(s). f1 = glob (f1); + if (isempty (f1)) + error ("movefile: no files to move"); + endif p1 = sprintf ("\"%s\" ", f1{:}); p2 = tilde_expand (f2); diff -cNr octave-3.0.0/scripts/miscellaneous/run.m octave-3.0.1/scripts/miscellaneous/run.m *** octave-3.0.0/scripts/miscellaneous/run.m Mon Dec 17 14:16:27 2007 --- octave-3.0.1/scripts/miscellaneous/run.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2007 David Bateman ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2007, 2008 David Bateman ## ## This file is part of Octave. ## *************** *** 40,46 **** wd = pwd (); unwind_protect cd (d); ! if (! exist (s, "file") || ! strcmp (ext, ".m")) error ("run: file must exist and be a valid Octave script file"); endif evalin ("caller", [f, ";"], "rethrow (lasterror ())"); --- 40,46 ---- wd = pwd (); unwind_protect cd (d); ! if (! exist (f, "file") || ! strcmp (ext, ".m")) error ("run: file must exist and be a valid Octave script file"); endif evalin ("caller", [f, ";"], "rethrow (lasterror ())"); diff -cNr octave-3.0.0/scripts/miscellaneous/tempdir.m octave-3.0.1/scripts/miscellaneous/tempdir.m *** octave-3.0.0/scripts/miscellaneous/tempdir.m Fri Oct 12 17:27:23 2007 --- octave-3.0.1/scripts/miscellaneous/tempdir.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2003, 2005, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2003, 2005, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 17,31 **** ## . ## -*- texinfo -*- ! ## @deftypefn {Function File} {@var{dir} =} fullfile () ## Return the name of the system's directory for temporary files. ## @end deftypefn function dirname = tempdir () dirname = getenv ("TMPDIR"); ! if (length (dirname) == 0) dirname = P_tmpdir; endif endfunction --- 17,39 ---- ## . ## -*- texinfo -*- ! ## @deftypefn {Function File} {@var{dir} =} tempdir () ## Return the name of the system's directory for temporary files. ## @end deftypefn function dirname = tempdir () dirname = getenv ("TMPDIR"); ! if (isempty (dirname)) dirname = P_tmpdir; endif + if (! strcmp (dirname(end), filesep)) + strcat (dirname, filesep); + endif + + if (! isdir (dirname)) + warning ("tempdir: `%s' does not exist or is not a directory", dirname); + endif + endfunction diff -cNr octave-3.0.0/scripts/miscellaneous/unpack.m octave-3.0.1/scripts/miscellaneous/unpack.m *** octave-3.0.0/scripts/miscellaneous/unpack.m Fri Oct 12 17:27:23 2007 --- octave-3.0.1/scripts/miscellaneous/unpack.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2006, 2007 Bill Denney ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2006, 2007, 2008 Bill Denney ## ## This file is part of Octave. ## *************** *** 124,135 **** commandlist.tar = {"tar -x -v -f \"%s\"", ... "tar -x -f \"%s\"", ... @__parse_tar__, false}; ! commandlist.targz = {"gzip -d -c \"%s\" | tar -x -v", ... ! "gzip -d -c \"%s\" | tar -x", ... @__parse_tar__, false}; commandlist.tgz = commandlist.targz; ! commandlist.tarbz2 = {"bzip2 -d -c \"%s\" | tar -x -v", ... ! "bzip2 -d -c \"%s\" | tar -x", ... @__parse_tar__, false}; commandlist.tarbz = commandlist.tarbz2; commandlist.tbz2 = commandlist.tarbz2; --- 124,135 ---- commandlist.tar = {"tar -x -v -f \"%s\"", ... "tar -x -f \"%s\"", ... @__parse_tar__, false}; ! commandlist.targz = {"gzip -d -c \"%s\" | tar -x -v -f -", ... ! "gzip -d -c \"%s\" | tar -x -f -", ... @__parse_tar__, false}; commandlist.tgz = commandlist.targz; ! commandlist.tarbz2 = {"bzip2 -d -c \"%s\" | tar -x -v -f -", ... ! "bzip2 -d -c \"%s\" | tar -x -f -", ... @__parse_tar__, false}; commandlist.tarbz = commandlist.tarbz2; commandlist.tbz2 = commandlist.tarbz2; diff -cNr octave-3.0.0/scripts/pkg/pkg.m octave-3.0.1/scripts/pkg/pkg.m *** octave-3.0.0/scripts/pkg/pkg.m Thu Dec 20 11:55:26 2007 --- octave-3.0.1/scripts/pkg/pkg.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2005, 2006, 2007 Søren Hauberg ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2005, 2006, 2007, 2008 Søren Hauberg ## ## This file is part of Octave. ## *************** *** 101,106 **** --- 101,129 ---- ## @noindent ## splits the list of installed packages into those who are installed by ## the current user, and those installed by the system administrator. + ## @item describe + ## Show a short description of the named installed packages, with the option + ## '-verbose' also list functions provided by the package, e.g.: + ## @example + ## pkg describe -verbose all + ## @end example + ## @noindent + ## will describe all installed packages and the functions they provide. + ## If one output is requested a cell of structure containing the + ## description and list of functions of each package is returned as + ## output rather than printed on screen: + ## @example + ## desc = pkg ("describe", "secs1d", "image") + ## @end example + ## @noindent + ## If any of the requested packages is not installed, pkg returns an + ## error, unless a second output is requested: + ## @example + ## [ desc, flag] = pkg ("describe", "secs1d", "image") + ## @end example + ## @noindent + ## @var{flag} will take one of the values "Not installed", "Loaded" or + ## "Not loaded" for each of the named packages. ## @item prefix ## Set the installation prefix directory. For example, ## @example *************** *** 179,185 **** persistent user_prefix = false; persistent prefix = -1; persistent archprefix = -1; ! persistent local_list = tilde_expand (fullfile("~", ".octave_packages")); persistent global_list = fullfile (OCTAVE_HOME (), "share", "octave", "octave_packages"); mlock (); --- 202,208 ---- persistent user_prefix = false; persistent prefix = -1; persistent archprefix = -1; ! persistent local_list = tilde_expand (fullfile ("~", ".octave_packages")); persistent global_list = fullfile (OCTAVE_HOME (), "share", "octave", "octave_packages"); mlock (); *************** *** 189,195 **** if (prefix == -1) if (global_install) prefix = fullfile (OCTAVE_HOME (), "share", "octave", "packages"); ! archprefix = fullfile (octave_config_info ("libexecdir"), "octave", "packages"); else prefix = fullfile ("~", "octave"); archprefix = prefix; --- 212,219 ---- if (prefix == -1) if (global_install) prefix = fullfile (OCTAVE_HOME (), "share", "octave", "packages"); ! archprefix = fullfile (octave_config_info ("libexecdir"), ! "octave", "packages"); else prefix = fullfile ("~", "octave"); archprefix = prefix; *************** *** 198,203 **** --- 222,230 ---- archprefix = tilde_expand (archprefix); endif + available_actions = {"list", "install", "uninstall", "load", ... + "unload", "prefix", "local_list", ... + "global_list", "rebuild", "build","describe"}; ## Handle input if (length (varargin) == 0 || ! iscellstr (varargin)) print_usage (); *************** *** 227,234 **** if (! user_prefix) prefix = fullfile (OCTAVE_HOME (), "share", "octave", "packages"); endif ! case {"list", "install", "uninstall", "load", "unload", "prefix", ... ! "local_list", "global_list", "rebuild", "build"} if (strcmp (action, "none")) action = varargin{i}; else --- 254,260 ---- if (! user_prefix) prefix = fullfile (OCTAVE_HOME (), "share", "octave", "packages"); endif ! case available_actions if (strcmp (action, "none")) action = varargin{i}; else *************** *** 316,322 **** local_list = absolute_pathname (files{1}); catch ## Force file to be created ! fclose (fopen (files{1}, 'wt')); local_list = absolute_pathname (files{1}); end_try_catch else --- 342,348 ---- local_list = absolute_pathname (files{1}); catch ## Force file to be created ! fclose (fopen (files{1}, "wt")); local_list = absolute_pathname (files{1}); end_try_catch else *************** *** 333,339 **** global_list = absolute_pathname (files{1}); catch ## Force file to be created ! fclose (fopen (files{1}, 'wt')); global_list = absolute_pathname (files{1}); end_try_catch else --- 359,365 ---- global_list = absolute_pathname (files{1}); catch ## Force file to be created ! fclose (fopen (files{1}, "wt")); global_list = absolute_pathname (files{1}); end_try_catch else *************** *** 365,370 **** --- 391,418 ---- endif build (files, deps, auto, verbose); + case "describe" + if (length (files) == 0) + error ("you must specify at least one package or 'all' when calling 'pkg describe'"); + endif + ## XXX FIXME: the name of the output variables is inconsistent + ## with their content + switch (nargout) + case 0 + describe (files, verbose, local_list, global_list); + case 1 + pkg_desc_list = describe (files, verbose, local_list, ... + global_list); + local_packages = pkg_desc_list; + case 2 + [pkg_desc_list, flag] = describe (files, verbose, local_list, ... + global_list); + local_packages = pkg_desc_list; + global_packages = flag; + otherwise + error ("you can request at most two outputs when calling 'pkg describe'"); + endswitch + otherwise error ("you must specify a valid action for 'pkg'. See 'help pkg' for details"); endswitch *************** *** 551,595 **** if (length (dirlist) > 3) error ("bundles of packages are not allowed") endif ## the two first entries of dirlist are "." and ".." ! for k = 3:length (dirlist) ! packdir = fullfile (tmpdir, dirlist{k}); ! packdirs{end+1} = packdir; ! ! ## Make sure the package contains necessary files ! verify_directory (packdir); ! ! ## Read the DESCRIPTION file ! filename = fullfile (packdir, "DESCRIPTION"); ! desc = get_description (filename); ! ! ## Verify that package name corresponds with filename ! [dummy, nm] = fileparts (tgz); ! if ((length (nm) >= length (desc.name)) ! && ! strcmp (desc.name, nm(1:length(desc.name)))) ! error ("package name '%s' doesn't correspond to its filename '%s'", ! desc.name, nm); endif ! ! ## Set default installation directory ! desc.dir = fullfile (prefix, strcat (desc.name, "-", desc.version)); ! ! ## Set default architectire dependent installation directory ! desc.archprefix = fullfile (archprefix, strcat (desc.name, "-", ! desc.version)); ! ! ## Save desc ! descriptions{end+1} = desc; ! ! ## Are any of the new packages already installed? ! ## If so we'll remove the old version. ! for j = 1:length (packages) ! if (strcmp (packages{j}.name, desc.name)) ! packages_to_uninstall(end+1) = j; ! endif ! endfor ! endfor endif endfor catch --- 599,652 ---- if (length (dirlist) > 3) error ("bundles of packages are not allowed") endif + endif + + ## The filename pointed to an uncompressed package to begin with + if (exist (tgz, "dir")) + dirlist = {".", "..", tgz}; + endif + if (exist (tgz, "file") || exist (tgz, "dir")) ## the two first entries of dirlist are "." and ".." ! if (exist (tgz, "file")) ! packdir = fullfile (tmpdir, dirlist{3}); ! else ! packdir = fullfile (pwd(), dirlist{3}); ! endif ! packdirs{end+1} = packdir; ! ! ## Make sure the package contains necessary files ! verify_directory (packdir); ! ! ## Read the DESCRIPTION file ! filename = fullfile (packdir, "DESCRIPTION"); ! desc = get_description (filename); ! ! ## Verify that package name corresponds with filename ! [dummy, nm] = fileparts (tgz); ! if ((length (nm) >= length (desc.name)) ! && ! strcmp (desc.name, nm(1:length(desc.name)))) ! error ("package name '%s' doesn't correspond to its filename '%s'", ! desc.name, nm); ! endif ! ! ## Set default installation directory ! desc.dir = fullfile (prefix, strcat (desc.name, "-", desc.version)); ! ! ## Set default architectire dependent installation directory ! desc.archprefix = fullfile (archprefix, strcat (desc.name, "-", ! desc.version)); ! ! ## Save desc ! descriptions{end+1} = desc; ! ! ## Are any of the new packages already installed? ! ## If so we'll remove the old version. ! for j = 1:length (packages) ! if (strcmp (packages{j}.name, desc.name)) ! packages_to_uninstall(end+1) = j; endif ! endfor endif endfor catch *************** *** 853,859 **** ## If an 'on_uninstall.m' exist, call it! if (exist (fullfile (desc.dir, "packinfo", "on_uninstall.m"), "file")) wd = pwd (); ! cd (fullfile(desc.dir, "packinfo")); on_uninstall (desc); cd (wd); endif --- 910,916 ---- ## If an 'on_uninstall.m' exist, call it! if (exist (fullfile (desc.dir, "packinfo", "on_uninstall.m"), "file")) wd = pwd (); ! cd (fullfile (desc.dir, "packinfo")); on_uninstall (desc); cd (wd); endif *************** *** 900,911 **** endfunction ########################################################## ## A U X I L I A R Y F U N C T I O N S ## ########################################################## function pth = absolute_pathname (pth) ! [status, msg, msgid] = fileattrib(pth); if (status != 1) error ("could not find the file or path %s", pth); else --- 957,1098 ---- endfunction + function [pkg_desc_list, flag] = describe (pkgnames, verbose, + local_list, global_list) + + ## Get the list of installed packages + installed_pkgs_lst = installed_packages(local_list, global_list); + num_packages = length (installed_pkgs_lst); + + + describe_all = false; + if (any (strcmp ("all", pkgnames))) + describe_all = true; + flag{1:num_packages} = "Not Loaded"; + num_pkgnames = num_packages; + else + num_pkgnames = length (pkgnames); + flag{1:num_pkgnames} = "Not installed"; + endif + + for i = 1:num_packages + curr_name= installed_pkgs_lst{i}.name; + if (describe_all) + name_pos = i; + else + name_pos = find(strcmp (curr_name, pkgnames)); + endif + + if (! isempty (name_pos)) + if (installed_pkgs_lst{i}.loaded) + flag{name_pos} = "Loaded"; + else + flag{name_pos} = "Not loaded"; + endif + + pkg_desc_list{name_pos}.name = installed_pkgs_lst{i}.name; + pkg_desc_list{name_pos}.description = installed_pkgs_lst{i}.description; + pkg_desc_list{name_pos}.provides = parse_pkg_idx (installed_pkgs_lst{i}.dir); + + endif + endfor + + non_inst = find (strcmp (flag, "Not installed")); + if (! isempty (non_inst) && nargout < 2) + non_inst_str = sprintf (" %s ", pkgnames{non_inst}); + error ("some packages are not installed: %s", non_inst_str); + endif + + if (nargout == 0) + for i = 1:num_pkgnames + print_package_description (pkg_desc_list{i}.name, + pkg_desc_list{i}.provides, + pkg_desc_list{i}.description, + flag{i}, verbose); + endfor + endif + + endfunction + ########################################################## ## A U X I L I A R Y F U N C T I O N S ## ########################################################## + ## This function reads an INDEX file + function [pkg_idx_struct] = parse_pkg_idx (packdir) + + index_file = fullfile (packdir, "packinfo", "INDEX"); + + if (! exist (index_file, "file")) + error ("could not find any INDEX file in directory %s, try 'pkg rebuild all' to generate missing INDEX files", packdir); + endif + + + [fid, msg] = fopen (index_file, "r"); + if (fid == -1) + error ("the INDEX file %s could not be read: %s", + index_file, msg); + endif + + cat_num = 1; + pkg_idx_struct{1}.category = "Uncategorized"; + pkg_idx_struct{1}.functions = {}; + + line = fgetl (fid); + while (isempty (strfind (line, ">>")) && ! feof (fid)) + line = fgetl (fid); + endwhile + + while (! feof (fid) || line != -1) + if (! any (! isspace (line)) || line(1) == "#" || any (line == "=")) + ## Comments, blank lines or comments about unimplemented + ## functions: do nothing + ## XXX: probably comments and pointers to external functions + ## could be treated better when printing to screen? + elseif (! isempty (strfind (line, ">>"))) + ## Skip package name and description as they are in + ## DESCRIPTION already + elseif (! isspace (line(1))) + ## Category + if (! isempty (pkg_idx_struct{cat_num}.functions)) + pkg_idx_struct{++cat_num}.functions = {}; + endif + pkg_idx_struct{cat_num}.category = deblank (line); + else + ## Function names + while (any (! isspace (line))) + [fun_name, line] = strtok (line); + pkg_idx_struct{cat_num}.functions{end+1} = deblank (fun_name); + endwhile + endif + line = fgetl (fid); + endwhile + fclose (fid); + endfunction + + function print_package_description (pkg_name, pkg_idx_struct, + pkg_desc, status, verbose) + + printf ("---\nPackage name:\n\t%s\n", pkg_name); + printf ("Short description:\n\t%s\n", pkg_desc); + printf ("Status:\n\t%s\n", status); + if (verbose) + printf ("---\nProvides:\n"); + for i = 1:length(pkg_idx_struct) + if (! isempty (pkg_idx_struct{i}.functions)) + printf ("%s\n", pkg_idx_struct{i}.category); + for j = 1:length(pkg_idx_struct{i}.functions) + printf ("\t%s\n", pkg_idx_struct{i}.functions{j}); + endfor + endif + endfor + endif + + endfunction + + function pth = absolute_pathname (pth) ! [status, msg, msgid] = fileattrib (pth); if (status != 1) error ("could not find the file or path %s", pth); else *************** *** 1098,1109 **** filenames = sprintf (fullfile (src, "%s "), m.name); endif if (length (oct) > 0) ! filenames = strcat (filenames, " ", sprintf(fullfile(src, "%s "), ... ! oct.name)); endif if (length (mex) > 0) ! filenames = strcat (filenames, " ", sprintf(fullfile(src, "%s "), ... ! mex.name)); endif filenames = split_by (filenames, " "); endif --- 1285,1296 ---- filenames = sprintf (fullfile (src, "%s "), m.name); endif if (length (oct) > 0) ! filenames = strcat (filenames, " ", ! sprintf (fullfile (src, "%s "), oct.name)); endif if (length (mex) > 0) ! filenames = strcat (filenames, " ", ! sprintf (fullfile (src, "%s "), mex.name)); endif filenames = split_by (filenames, " "); endif *************** *** 1118,1128 **** archindependent = filenames (!idx); ## Copy the files ! if (! all (isspace (filenames))) if (! exist (instdir, "dir")) mkdir (instdir); endif ! if (! all (isspace (archindependent))) if (verbose) printf ("copyfile"); printf (" %s", archindependent{:}); --- 1305,1315 ---- archindependent = filenames (!idx); ## Copy the files ! if (! all (isspace ([filenames{:}]))) if (! exist (instdir, "dir")) mkdir (instdir); endif ! if (! all (isspace ([archindependent{:}]))) if (verbose) printf ("copyfile"); printf (" %s", archindependent{:}); *************** *** 1134,1140 **** error ("Couldn't copy files from 'src' to 'inst': %s", output); endif endif ! if (! all (isspace (archdependent))) if (verbose) printf ("copyfile"); printf (" %s", archdependent{:}); --- 1321,1327 ---- error ("Couldn't copy files from 'src' to 'inst': %s", output); endif endif ! if (! all (isspace ([archdependent{:}]))) if (verbose) printf ("copyfile"); printf (" %s", archdependent{:}); *************** *** 1192,1207 **** if (archfid >= 0 && instfid >= 0) ## Search all dot-m files for PKG commands ! lst = dir (fullfile(packdir, "inst", "*.m")); for i = 1:length (lst) ! nam = fullfile(packdir, "inst", lst(i).name); fwrite (instfid, extract_pkg (nam, ['^[#%][#%]* *' nm ': *(.*)$'])); endfor ## Search all C++ source files for PKG commands ! lst = dir (fullfile(packdir, "src", "*.cc")); for i = 1:length (lst) ! nam = fullfile(packdir, "src", lst(i).name); fwrite (archfid, extract_pkg (nam, ['^//* *' nm ': *(.*)$'])); fwrite (archfid, extract_pkg (nam, ['^/\** *' nm ': *(.*) *\*/$'])); endfor --- 1379,1394 ---- if (archfid >= 0 && instfid >= 0) ## Search all dot-m files for PKG commands ! lst = dir (fullfile (packdir, "inst", "*.m")); for i = 1:length (lst) ! nam = fullfile (packdir, "inst", lst(i).name); fwrite (instfid, extract_pkg (nam, ['^[#%][#%]* *' nm ': *(.*)$'])); endfor ## Search all C++ source files for PKG commands ! lst = dir (fullfile (packdir, "src", "*.cc")); for i = 1:length (lst) ! nam = fullfile (packdir, "src", lst(i).name); fwrite (archfid, extract_pkg (nam, ['^//* *' nm ': *(.*)$'])); fwrite (archfid, extract_pkg (nam, ['^/\** *' nm ': *(.*) *\*/$'])); endfor *************** *** 1335,1343 **** endif ## If the file ChangeLog exists, copy it ! fChangeLog = fullfile(packdir, "ChangeLog"); ! if (exist (fChangeLog, "file")) ! [status, output] = copyfile (fChangeLog, packinfo); if (status != 1) rm_rf (desc.dir); rm_rf (octfiledir); --- 1522,1530 ---- endif ## If the file ChangeLog exists, copy it ! changelog_file = fullfile (packdir, "ChangeLog"); ! if (exist (changelog_file, "file")) ! [status, output] = copyfile (changelog_file, packinfo); if (status != 1) rm_rf (desc.dir); rm_rf (octfiledir); *************** *** 1346,1354 **** endif ## Is there an INDEX file to copy or should we generate one? ! fINDEX = fullfile (packdir, "INDEX"); ! if (exist(fINDEX, "file")) ! [status, output] = copyfile (fINDEX, packinfo); if (status != 1) rm_rf (desc.dir); rm_rf (octfiledir); --- 1533,1541 ---- endif ## Is there an INDEX file to copy or should we generate one? ! index_file = fullfile (packdir, "INDEX"); ! if (exist(index_file, "file")) ! [status, output] = copyfile (index_file, packinfo); if (status != 1) rm_rf (desc.dir); rm_rf (octfiledir); *************** *** 1356,1362 **** endif else try ! write_INDEX (desc, fullfile (packdir, "inst"), fullfile (packinfo, "INDEX"), global_install); catch rm_rf (desc.dir); --- 1543,1549 ---- endif else try ! write_index (desc, fullfile (packdir, "inst"), fullfile (packinfo, "INDEX"), global_install); catch rm_rf (desc.dir); *************** *** 1366,1372 **** endif ## Is there an 'on_uninstall.m' to install? ! fon_uninstall = fullfile(packdir, "on_uninstall.m"); if (exist (fon_uninstall, "file")) [status, output] = copyfile (fon_uninstall, packinfo); if (status != 1) --- 1553,1559 ---- endif ## Is there an 'on_uninstall.m' to install? ! fon_uninstall = fullfile (packdir, "on_uninstall.m"); if (exist (fon_uninstall, "file")) [status, output] = copyfile (fon_uninstall, packinfo); if (status != 1) *************** *** 1407,1414 **** endif endfunction ! ## This function makes sure the package contains the ! ## essential files. function verify_directory (dir) needed_files = {"COPYING", "DESCRIPTION"}; for f = needed_files --- 1594,1600 ---- endif endfunction ! ## Make sure the package contains the essential files. function verify_directory (dir) needed_files = {"COPYING", "DESCRIPTION"}; for f = needed_files *************** *** 1418,1424 **** endfor endfunction ! ## This function parses the DESCRIPTION file function desc = get_description (filename) [fid, msg] = fopen (filename, "r"); if (fid == -1) --- 1604,1610 ---- endfor endfunction ! ## Parse the DESCRIPTION file function desc = get_description (filename) [fid, msg] = fopen (filename, "r"); if (fid == -1) *************** *** 1444,1450 **** else colon = colon(1); keyword = tolower (strip (line(1:colon-1))); ! value = strip (line (colon+1:end)); if (length (value) == 0) fclose (fid); error ("the keyword %s has an empty value", desc.keywords{end}); --- 1630,1636 ---- else colon = colon(1); keyword = tolower (strip (line(1:colon-1))); ! value = strip (line (colon+1:end)); if (length (value) == 0) fclose (fid); error ("the keyword %s has an empty value", desc.keywords{end}); *************** *** 1473,1479 **** desc.name = tolower (desc.name); endfunction ! ## Makes sure the version string v is a valid x.y.z version string ## Examples: "0.1" => "0.1.0", "monkey" => error(...) function out = fix_version (v) dots = find (v == "."); --- 1659,1665 ---- desc.name = tolower (desc.name); endfunction ! ## Make sure the version string v is a valid x.y.z version string ## Examples: "0.1" => "0.1.0", "monkey" => error(...) function out = fix_version (v) dots = find (v == "."); *************** *** 1487,1493 **** elseif (length (dots) == 2) major = str2num (v(1:dots(1)-1)); minor = str2num (v(dots(1)+1:dots(2)-1)); ! rev = str2num (v(dots(2)+1:end)); if (length (major) != 0 && length (minor) != 0 && length (rev) != 0) out = sprintf ("%d.%d.%d", major, minor, rev); return; --- 1673,1679 ---- elseif (length (dots) == 2) major = str2num (v(1:dots(1)-1)); minor = str2num (v(dots(1)+1:dots(2)-1)); ! rev = str2num (v(dots(2)+1:end)); if (length (major) != 0 && length (minor) != 0 && length (rev) != 0) out = sprintf ("%d.%d.%d", major, minor, rev); return; *************** *** 1496,1502 **** error ("bad version string: %s", v); endfunction ! ## Makes sure the depends field is of the right format. ## This function returns a cell of structures with the following fields: ## package, version, operator function deps_cell = fix_depends (depends) --- 1682,1688 ---- error ("bad version string: %s", v); endfunction ! ## Make sure the depends field is of the right format. ## This function returns a cell of structures with the following fields: ## package, version, operator function deps_cell = fix_depends (depends) *************** *** 1544,1550 **** endfor endfunction ! ## Strips the text of spaces from the right ## Example: " hello world " => " hello world" (XXX: is this the same as deblank?) function text = rstrip (text) chars = find (! isspace (text)); --- 1730,1736 ---- endfor endfunction ! ## Strip the text of spaces from the right ## Example: " hello world " => " hello world" (XXX: is this the same as deblank?) function text = rstrip (text) chars = find (! isspace (text)); *************** *** 1556,1562 **** endif endfunction ! ## Strips the text of spaces from the left and the right ## Example: " hello world " => "hello world" function text = strip (text) chars = find (! isspace (text)); --- 1742,1748 ---- endif endfunction ! ## Strip the text of spaces from the left and the right ## Example: " hello world " => "hello world" function text = strip (text) chars = find (! isspace (text)); *************** *** 1567,1573 **** endif endfunction ! ## Splits the text into a cell array of strings by sep ## Example: "A, B" => {"A", "B"} (with sep = ",") function out = split_by (text, sep) text_matrix = split (text, sep); --- 1753,1759 ---- endif endfunction ! ## Split the text into a cell array of strings by sep ## Example: "A, B" => {"A", "B"} (with sep = ",") function out = split_by (text, sep) text_matrix = split (text, sep); *************** *** 1578,1588 **** endfor endfunction ! ## Creates an INDEX file for a package that doesn't provide one. ## 'desc' describes the package. ! ## 'dir' is the 'inst' direcotyr in temporary directory. ! ## 'INDEX' is the name (including path) of resulting INDEX file. ! function write_INDEX (desc, dir, INDEX, global_install) ## Get names of functions in dir [files, err, msg] = readdir (dir); if (err) --- 1764,1774 ---- endfor endfunction ! ## Create an INDEX file for a package that doesn't provide one. ## 'desc' describes the package. ! ## 'dir' is the 'inst' directory in temporary directory. ! ## 'index_file' is the name (including path) of resulting INDEX file. ! function write_index (desc, dir, index_file, global_install) ## Get names of functions in dir [files, err, msg] = readdir (dir); if (err) *************** *** 1620,1628 **** endif ## Write INDEX ! fid = fopen (INDEX, "w"); if (fid == -1) ! error ("couldn't open %s for writing.", INDEX); endif fprintf (fid, "%s >> %s\n", desc.name, desc.title); fprintf (fid, "%s\n", categories{1}); --- 1806,1814 ---- endif ## Write INDEX ! fid = fopen (index_file, "w"); if (fid == -1) ! error ("couldn't open %s for writing.", index_file); endif fprintf (fid, "%s >> %s\n", desc.name, desc.title); fprintf (fid, "%s\n", categories{1}); *************** *** 2030,2042 **** ndir = installed_pkgs_lst{i}.dir; dirs{end+1} = ndir; if (exist (fullfile (dirs{end}, "bin"), "dir")) ! execpath = strcat (fullfile(dirs{end}, "bin"), ":", execpath); endif tmpdir = getarchdir (installed_pkgs_lst{i}); if (exist (tmpdir, "dir")) dirs{end + 1} = tmpdir; if (exist (fullfile (dirs{end}, "bin"), "dir")) ! execpath = strcat (fullfile(dirs{end}, "bin"), ":", execpath); endif endif endfor --- 2216,2228 ---- ndir = installed_pkgs_lst{i}.dir; dirs{end+1} = ndir; if (exist (fullfile (dirs{end}, "bin"), "dir")) ! execpath = strcat (fullfile (dirs{end}, "bin"), ":", execpath); endif tmpdir = getarchdir (installed_pkgs_lst{i}); if (exist (tmpdir, "dir")) dirs{end + 1} = tmpdir; if (exist (fullfile (dirs{end}, "bin"), "dir")) ! execpath = strcat (fullfile (dirs{end}, "bin"), ":", execpath); endif endif endfor diff -cNr octave-3.0.0/scripts/plot/Makefile.in octave-3.0.1/scripts/plot/Makefile.in *** octave-3.0.0/scripts/plot/Makefile.in Mon Dec 17 22:48:04 2007 --- octave-3.0.1/scripts/plot/Makefile.in Mon Apr 21 12:00:20 2008 *************** *** 1,6 **** # Makefile for octave's scripts/plot directory # ! # Copyright (C) 1994, 1995, 1996, 1997, 2002, 2005, 2006, 2007 # John W. Eaton # # This file is part of Octave. --- 1,6 ---- # Makefile for octave's scripts/plot directory # ! # Copyright (C) 1994, 1995, 1996, 1997, 2002, 2005, 2006, 2007, 2008 # John W. Eaton # # This file is part of Octave. *************** *** 57,63 **** --- 57,65 ---- __plt2mm__.m \ __plt2mv__.m \ __plt2ss__.m \ + __plt2sv__.m \ __plt2vm__.m \ + __plt2vs__.m \ __plt2vv__.m \ __plt__.m \ __plt_get_axis_arg__.m \ diff -cNr octave-3.0.0/scripts/plot/__axis_label__.m octave-3.0.1/scripts/plot/__axis_label__.m *** octave-3.0.0/scripts/plot/__axis_label__.m Fri Oct 12 17:27:24 2007 --- octave-3.0.1/scripts/plot/__axis_label__.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1996, 1997, 2000, 2003, 2005, 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1996, 1997, 2000, 2003, 2005, 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 38,44 **** retval = h; endif else ! error ("%s: expecting first argument to be character string"); endif endfunction --- 38,44 ---- retval = h; endif else ! error ("%s: expecting first argument to be character string", caller); endif endfunction diff -cNr octave-3.0.0/scripts/plot/__gnuplot_version__.m octave-3.0.1/scripts/plot/__gnuplot_version__.m *** octave-3.0.0/scripts/plot/__gnuplot_version__.m Fri Oct 12 17:27:24 2007 --- octave-3.0.1/scripts/plot/__gnuplot_version__.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2006, 2007 Daniel Sebald ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2006, 2007, 2008 Daniel Sebald ## ## This file is part of Octave. ## *************** *** 28,33 **** --- 28,40 ---- if (isempty (__version__)) [status, output] = system (sprintf ("%s --version", gnuplot_binary ())); + if (status != 0) + ## This message ends in a newline so that the traceback messages + ## are skipped and people might actually see the message, read it, + ## comprehend it, actually take the advice it gives, and stop + ## asking us why plotting fails when gnuplot is not found. + error ("you must have gnuplot installed to display graphics; if you have gnuplot installed in a non-standard location, see the 'gnuplot_binary' function\n"); + endif pattern = "^[^\\s]*\\s*([0-9]+\\.[0-9]+)\\s*[^\\s]*\\s*([^\\s]*)"; [d1, d2, d3, d4, matches] = regexp (output, pattern); if (iscell (matches) && numel (matches) > 0 && iscellstr (matches{1})) diff -cNr octave-3.0.0/scripts/plot/__go_draw_axes__.m octave-3.0.1/scripts/plot/__go_draw_axes__.m *** octave-3.0.0/scripts/plot/__go_draw_axes__.m Mon Dec 17 22:48:04 2007 --- octave-3.0.1/scripts/plot/__go_draw_axes__.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2005, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2005, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 33,39 **** ## Set axis properties here? pos = [0, 0, 1, 1]; ! if (strcmp (axis_obj.activepositionproperty, "outerposition")) ymirror = true; if (! isempty (axis_obj.outerposition)) pos = axis_obj.outerposition; --- 33,39 ---- ## Set axis properties here? pos = [0, 0, 1, 1]; ! if (strcmpi (axis_obj.activepositionproperty, "outerposition")) ymirror = true; if (! isempty (axis_obj.outerposition)) pos = axis_obj.outerposition; *************** *** 49,57 **** endif endif ! if (! strcmp (axis_obj.__colorbar__, "none")) [pos, cbox_orient, cbox_size, cbox_origin, cbox_mirror] = ... ! gnuplot_postion_colorbox (pos, axis_obj.__colorbar__); endif fprintf (plot_stream, "set origin %.15g, %.15g;\n", pos(1), pos(2)); --- 49,57 ---- endif endif ! if (! strcmpi (get (h, "__colorbar__"), "none")) [pos, cbox_orient, cbox_size, cbox_origin, cbox_mirror] = ... ! gnuplot_position_colorbox (pos, get (h, "__colorbar__"), axis_obj); endif fprintf (plot_stream, "set origin %.15g, %.15g;\n", pos(1), pos(2)); *************** *** 64,70 **** fputs (plot_stream, "set size noratio;\n"); endif - fputs (plot_stream, "set pm3d explicit;\n"); fputs (plot_stream, "unset label;\n"); if (! isempty (axis_obj.title)) --- 64,69 ---- *************** *** 79,86 **** else fontspec = sprintf ("font \"%s,%d\"", f, s); endif ! fprintf (plot_stream, "set title \"%s\" %s;\n", ! undo_string_escapes (tt), fontspec); endif endif --- 78,86 ---- else fontspec = sprintf ("font \"%s,%d\"", f, s); endif ! fprintf (plot_stream, "set title \"%s\" %s %s;\n", ! undo_string_escapes (tt), fontspec, ! __do_enhanced_option__ (enhanced, t)); endif endif *************** *** 100,110 **** fontspec = sprintf ("font \"%s,%d\"", f, s); endif if (strcmpi (axis_obj.xaxislocation, "top")) ! fprintf (plot_stream, "set x2label \"%s\" %s %s", ! undo_string_escapes (tt), colorspec, fontspec); else ! fprintf (plot_stream, "set xlabel \"%s\" %s %s", ! undo_string_escapes (tt), colorspec, fontspec); endif if (have_newer_gnuplot) ## Rotation of xlabel not yet support by gnuplot as of 4.2, but --- 100,112 ---- fontspec = sprintf ("font \"%s,%d\"", f, s); endif if (strcmpi (axis_obj.xaxislocation, "top")) ! fprintf (plot_stream, "set x2label \"%s\" %s %s %s", ! undo_string_escapes (tt), colorspec, fontspec, ! __do_enhanced_option__ (enhanced, t)); else ! fprintf (plot_stream, "set xlabel \"%s\" %s %s %s", ! undo_string_escapes (tt), colorspec, fontspec, ! __do_enhanced_option__ (enhanced, t)); endif if (have_newer_gnuplot) ## Rotation of xlabel not yet support by gnuplot as of 4.2, but *************** *** 136,146 **** fontspec = sprintf ("font \"%s,%d\"", f, s); endif if (strcmpi (axis_obj.yaxislocation, "right")) ! fprintf (plot_stream, "set y2label \"%s\" %s %s", ! undo_string_escapes (tt), colorspec, fontspec); else ! fprintf (plot_stream, "set ylabel \"%s\" %s %s", ! undo_string_escapes (tt), colorspec, fontspec); endif if (have_newer_gnuplot) fprintf (plot_stream, " rotate by %f;\n", angle); --- 138,150 ---- fontspec = sprintf ("font \"%s,%d\"", f, s); endif if (strcmpi (axis_obj.yaxislocation, "right")) ! fprintf (plot_stream, "set y2label \"%s\" %s %s %s", ! undo_string_escapes (tt), colorspec, fontspec, ! __do_enhanced_option__ (enhanced, t)); else ! fprintf (plot_stream, "set ylabel \"%s\" %s %s %s", ! undo_string_escapes (tt), colorspec, fontspec, ! __do_enhanced_option__ (enhanced, t)); endif if (have_newer_gnuplot) fprintf (plot_stream, " rotate by %f;\n", angle); *************** *** 168,175 **** else fontspec = sprintf ("font \"%s,%d\"", f, s); endif ! fprintf (plot_stream, "set zlabel \"%s\" %s %s", ! undo_string_escapes (tt), colorspec, fontspec); if (have_newer_gnuplot) ## Rotation of zlabel not yet support by gnuplot as of 4.2, but ## there is no message about it. --- 172,180 ---- else fontspec = sprintf ("font \"%s,%d\"", f, s); endif ! fprintf (plot_stream, "set zlabel \"%s\" %s %s %s", ! undo_string_escapes (tt), colorspec, fontspec, ! __do_enhanced_option__ (enhanced, t)); if (have_newer_gnuplot) ## Rotation of zlabel not yet support by gnuplot as of 4.2, but ## there is no message about it. *************** *** 285,290 **** --- 290,296 ---- yautoscale = strcmpi (axis_obj.ylimmode, "auto"); zautoscale = strcmpi (axis_obj.zlimmode, "auto"); cautoscale = strcmpi (axis_obj.climmode, "auto"); + cdatadirect = false; kids = axis_obj.children; *************** *** 314,320 **** [view_cmd, view_fcn, view_zoom] = image_viewer (); use_gnuplot_for_images = (ischar (view_fcn) ! && strcmp (view_fcn, "gnuplot_internal")); ximg_data = {}; ximg_data_idx = 0; --- 320,326 ---- [view_cmd, view_fcn, view_zoom] = image_viewer (); use_gnuplot_for_images = (ischar (view_fcn) ! && strcmpi (view_fcn, "gnuplot_internal")); ximg_data = {}; ximg_data_idx = 0; *************** *** 331,336 **** --- 337,345 ---- if (use_gnuplot_for_images) + if (strcmpi (obj.cdatamapping, "direct")) + cdatadirect = true; + endif fputs (plot_stream, "set border front;\n"); data_idx++; is_image_data(data_idx) = true; *************** *** 387,402 **** tmp = undo_string_escapes (__maybe_munge_text__ (enhanced, obj, "keylabel", have_newer_gnuplot)); titlespec{data_idx} = strcat ("title \"", tmp, "\""); endif - [style, typ, with] = do_linestyle_command (obj, data_idx, - mono, plot_stream); usingclause{data_idx} = ""; ! if (have_newer_gnuplot || isnan (typ)) ! withclause{data_idx} = sprintf ("with %s linestyle %d", ! style, data_idx); ! else ! withclause{data_idx} = sprintf ("with %s linetype %d", ! style, typ); ! endif if (nd == 3) xdat = obj.xdata(:); ydat = obj.ydata(:); --- 396,403 ---- tmp = undo_string_escapes (__maybe_munge_text__ (enhanced, obj, "keylabel", have_newer_gnuplot)); titlespec{data_idx} = strcat ("title \"", tmp, "\""); endif usingclause{data_idx} = ""; ! errbars = ""; if (nd == 3) xdat = obj.xdata(:); ydat = obj.ydata(:); *************** *** 454,464 **** endif data{data_idx} = [xdat, ydat, xlo, xhi, ylo, yhi]'; usingclause{data_idx} = "using ($1):($2):($3):($4):($5):($6)"; ! withclause{data_idx} = "with xyerrorbars"; else data{data_idx} = [xdat, ydat, ylo, yhi]'; usingclause{data_idx} = "using ($1):($2):($3):($4)"; ! withclause{data_idx} = "with yerrorbars"; endif elseif (xerr) if (isempty (xldat)) --- 455,465 ---- endif data{data_idx} = [xdat, ydat, xlo, xhi, ylo, yhi]'; usingclause{data_idx} = "using ($1):($2):($3):($4):($5):($6)"; ! errbars = "xyerrorbars"; else data{data_idx} = [xdat, ydat, ylo, yhi]'; usingclause{data_idx} = "using ($1):($2):($3):($4)"; ! errbars = "yerrorbars"; endif elseif (xerr) if (isempty (xldat)) *************** *** 473,485 **** endif data{data_idx} = [xdat, ydat, xlo, xhi]'; usingclause{data_idx} = "using ($1):($2):($3):($4)"; ! withclause{data_idx} = "with xerrorbars"; else data{data_idx} = [xdat, ydat]'; usingclause{data_idx} = sprintf ("using ($1):($2) axes %s%s", xaxisloc_using, yaxisloc_using); endif endif if (! (have_newer_gnuplot || isempty (with))) if (isempty (withclause{data_idx})) withclause{data_idx} = sprintf ("with %s", with); --- 474,498 ---- endif data{data_idx} = [xdat, ydat, xlo, xhi]'; usingclause{data_idx} = "using ($1):($2):($3):($4)"; ! errbars = "xerrorbars"; else data{data_idx} = [xdat, ydat]'; usingclause{data_idx} = sprintf ("using ($1):($2) axes %s%s", xaxisloc_using, yaxisloc_using); endif endif + + [style, typ, with] = do_linestyle_command (obj, data_idx, mono, + plot_stream, errbars); + + if (have_newer_gnuplot || isnan (typ)) + withclause{data_idx} = sprintf ("with %s linestyle %d", + style, data_idx); + else + withclause{data_idx} = sprintf ("with %s linetype %d", + style, typ); + endif + if (! (have_newer_gnuplot || isempty (with))) if (isempty (withclause{data_idx})) withclause{data_idx} = sprintf ("with %s", with); *************** *** 495,500 **** --- 508,516 ---- if (! isempty (obj.cdata)) cdat = obj.cdata; + if (strcmpi (obj.cdatamapping, "direct")) + cdatadirect = true; + endif else cdat = []; endif *************** *** 562,568 **** color = cmap(r, :); endif elseif (strncmp (obj.facecolor, "interp", 6)) ! warning ("\"interp\" not supported, using 1st entry of cdata") r = 1 + round ((size (cmap, 1) - 1) * ccol(1)); r = max (1, min (r, size (cmap, 1))); color = cmap(r,:); --- 578,584 ---- color = cmap(r, :); endif elseif (strncmp (obj.facecolor, "interp", 6)) ! warning ("\"interp\" not supported, using 1st entry of cdata"); r = 1 + round ((size (cmap, 1) - 1) * ccol(1)); r = max (1, min (r, size (cmap, 1))); color = cmap(r,:); *************** *** 586,610 **** withclause{data_idx} = sprintf ("with filledcurve %s", colorspec); else ! if (isequal (color, [0,0,0])) ! typ = -1; ! elseif (isequal (color, [1,0,0])) ! typ = 1; ! elseif (isequal (color, [0,1,0])) ! typ = 2; ! elseif (isequal (color, [0,0,1])) ! typ = 3; ! elseif (isequal (color, [1,0,1])) ! typ = 4; ! elseif (isequal (color, [0,1,1])) ! typ = 5; ! elseif (isequal (color, [1,1,1])) ! typ = -1; ! elseif (isequal (color, [1,1,0])) ! typ = 7; ! else ! typ = -1; ! endif withclause{data_idx} = sprintf ("with filledcurve lt %d", typ); endif data{data_idx} = [xcol, ycol]'; --- 602,608 ---- withclause{data_idx} = sprintf ("with filledcurve %s", colorspec); else ! typ = get_old_gnuplot_color (color); withclause{data_idx} = sprintf ("with filledcurve lt %d", typ); endif data{data_idx} = [xcol, ycol]'; *************** *** 623,629 **** usingclause{data_idx} = ""; if (isfield (obj, "markersize")) ! mdat = obj.markersize; endif if (isfield (obj, "edgecolor")) --- 621,627 ---- usingclause{data_idx} = ""; if (isfield (obj, "markersize")) ! mdat = obj.markersize / 6; endif if (isfield (obj, "edgecolor")) *************** *** 655,661 **** color = cmap(r, :); endif elseif (strncmp (obj.edgecolor, "interp", 6)) ! warning ("\"interp\" not supported, using 1st entry of cdata") r = 1 + round ((size (cmap, 1) - 1) * ccol(1)); r = max (1, min (r, size (cmap, 1))); color = cmap(r,:); --- 653,659 ---- color = cmap(r, :); endif elseif (strncmp (obj.edgecolor, "interp", 6)) ! warning ("\"interp\" not supported, using 1st entry of cdata"); r = 1 + round ((size (cmap, 1) - 1) * ccol(1)); r = max (1, min (r, size (cmap, 1))); color = cmap(r,:); *************** *** 688,693 **** --- 686,701 ---- lt = ""; endif + if (isfield (obj, "linewidth")) + if (have_newer_gnuplot) + lw = sprintf("linewidth %f", obj.linewidth); + else + lw = sprintf("lw %f", obj.linewidth); + endif + else + lw = ""; + endif + if (isfield (obj, "marker")) if (isfield (obj, "marker")) switch (obj.marker) *************** *** 738,746 **** if (isfield (obj, "markersize")) if (length (mdat) == nc) ! m = mdat(i); else ! m = mdat; endif if (! strcmpi (style, "lines")) if (have_newer_gnuplot) --- 746,754 ---- if (isfield (obj, "markersize")) if (length (mdat) == nc) ! m = mdat(i) / 6; else ! m = mdat / 6; endif if (! strcmpi (style, "lines")) if (have_newer_gnuplot) *************** *** 762,791 **** colorspec = sprintf ("lc rgb \"#%02x%02x%02x\"", round (255*color)); endif ! withclause{data_idx} = sprintf ("with %s %s %s %s %s", ! style, pt, lt, ps, colorspec); else ! if (isequal (color, [0,0,0])) ! typ = -1; ! elseif (isequal (color, [1,0,0])) ! typ = 1; ! elseif (isequal (color, [0,1,0])) ! typ = 2; ! elseif (isequal (color, [0,0,1])) ! typ = 3; ! elseif (isequal (color, [1,0,1])) ! typ = 4; ! elseif (isequal (color, [0,1,1])) ! typ = 5; ! elseif (isequal (color, [1,1,1])) ! typ = -1; ! elseif (isequal (color, [1,1,0])) ! typ = 7; ! else ! typ = -1; ! endif ! withclause{data_idx} = sprintf ("with %s %s %s lt %d", ! style, pt, ps, typ); endif if (nd == 3) --- 770,782 ---- colorspec = sprintf ("lc rgb \"#%02x%02x%02x\"", round (255*color)); endif ! withclause{data_idx} = sprintf ("with %s %s %s %s %s %s", ! style, lw, pt, lt, ps, ! colorspec); else ! typ = get_old_gnuplot_color (color); ! withclause{data_idx} = sprintf ("with %s %s %s %s lt %d", ! style, lw, pt, ps, typ); endif if (nd == 3) *************** *** 875,881 **** data{data_idx} = zz.'; endif usingclause{data_idx} = "using ($1):($2):($3):($4)"; ! ## fputs (plot_stream, "unset parametric;\n"); ## Interpolation does not work for flat surfaces (e.g. pcolor) ## and color mapping --> currently set empty. --- 866,872 ---- data{data_idx} = zz.'; endif usingclause{data_idx} = "using ($1):($2):($3):($4)"; ! ## fputs (plot_stream, "unset parametric;\n"); ## Interpolation does not work for flat surfaces (e.g. pcolor) ## and color mapping --> currently set empty. *************** *** 888,903 **** facecolor_none_or_white = (strncmp (obj.facecolor, "none", 4) || (isnumeric (obj.facecolor) && all (obj.facecolor == 1))); ! if (strncmp (obj.facecolor, "none", 4)) ! hidden_removal = false; ! else ! if (isnan (hidden_removal)) ! hidden_removal = true; ! endif ! endif ! if (flat_interp_edge && facecolor_none_or_white) withclause{data_idx} = "with line palette"; endif if (have_newer_gnuplot) --- 879,917 ---- facecolor_none_or_white = (strncmp (obj.facecolor, "none", 4) || (isnumeric (obj.facecolor) && all (obj.facecolor == 1))); ! hidden_removal = false; ! fputs (plot_stream, "set style increment default;\n"); if (flat_interp_edge && facecolor_none_or_white) withclause{data_idx} = "with line palette"; + fputs (plot_stream, "unset pm3d\n"); + if (all (obj.facecolor == 1)) + hidden_removal = true; + endif + elseif (facecolor_none_or_white) + edgecol = obj.edgecolor; + if (have_newer_gnuplot) + if (mono) + colorspec = ""; + else + colorspec = sprintf ("linecolor rgb \"#%02x%02x%02x\"", + round (255*edgecol)); + endif + if (all (obj.facecolor == 1)) + hidden_removal = true; + endif + fputs(plot_stream,"unset pm3d;\n"); + fprintf (plot_stream, + "set style line %d %s lw %f;\n", + data_idx, colorspec, obj.linewidth); + fputs(plot_stream,"set style increment user;\n"); + else + typ = get_old_gnuplot_color (edgecol); + fprintf (plot_stream, + "set style line %d lt %d lw %f;\n", + data_idx, typ, obj.linewidth); + endif + withclause{data_idx} = sprintf("with line linestyle %d", data_idx); + fputs (plot_stream, "unset pm3d\n"); endif if (have_newer_gnuplot) *************** *** 916,922 **** else edgecol = obj.edgecolor; if (ischar (obj.edgecolor)) ! edgecol = [0,0,0]; endif fprintf (plot_stream, "set pm3d explicit at s hidden3d %d %s %s corners2color c3;\n", data_idx, interp_str, dord); --- 930,936 ---- else edgecol = obj.edgecolor; if (ischar (obj.edgecolor)) ! edgecol = [0, 0, 0]; endif fprintf (plot_stream, "set pm3d explicit at s hidden3d %d %s %s corners2color c3;\n", data_idx, interp_str, dord); *************** *** 932,956 **** "set style line %d %s lw %f;\n", data_idx, colorspec, obj.linewidth); else ! if (isequal (edgecol, [0,0,0])) ! typ = -1; ! elseif (isequal (edgecol, [1,0,0])) ! typ = 1; ! elseif (isequal (edgecol, [0,1,0])) ! typ = 2; ! elseif (isequal (edgecol, [0,0,1])) ! typ = 3; ! elseif (isequal (edgecol, [1,0,1])) ! typ = 4; ! elseif (isequal (edgecol, [0,1,1])) ! typ = 5; ! elseif (isequal (edgecol, [1,1,1])) ! typ = -1; ! elseif (isequal (edgecol, [1,1,0])) ! typ = 7; ! else ! typ = -1; ! endif fprintf (plot_stream, "set style line %d lt %d lw %f;\n", data_idx, typ, obj.linewidth); --- 946,952 ---- "set style line %d %s lw %f;\n", data_idx, colorspec, obj.linewidth); else ! typ = get_old_gnuplot_color (edgecol); fprintf (plot_stream, "set style line %d lt %d lw %f;\n", data_idx, typ, obj.linewidth); *************** *** 984,997 **** if (nd == 3) fprintf (plot_stream, ! "set label \"%s\" at %s %.15g,%.15g,%.15g %s rotate by %f %s front %s;\n", undo_string_escapes (label), units, lpos(1), ! lpos(2), lpos(3), halign, angle, fontspec, colorspec); else fprintf (plot_stream, ! "set label \"%s\" at %s %.15g,%.15g %s rotate by %f %s front %s;\n", undo_string_escapes (label), units, ! lpos(1), lpos(2), halign, angle, fontspec, colorspec); endif otherwise --- 980,995 ---- if (nd == 3) fprintf (plot_stream, ! "set label \"%s\" at %s %.15g,%.15g,%.15g %s rotate by %f %s %s front %s;\n", undo_string_escapes (label), units, lpos(1), ! lpos(2), lpos(3), halign, angle, fontspec, ! __do_enhanced_option__ (enhanced, obj), colorspec); else fprintf (plot_stream, ! "set label \"%s\" at %s %.15g,%.15g %s rotate by %f %s %s front %s;\n", undo_string_escapes (label), units, ! lpos(1), lpos(2), halign, angle, fontspec, ! __do_enhanced_option__ (enhanced, obj), colorspec); endif otherwise *************** *** 1001,1006 **** --- 999,1012 ---- endfor + ## This is need to prevent warnings for rotations in 3D plots, while + ## allowing colorbars with contours.. + if (nd == 2 || data_idx > 1) + fputs (plot_stream, "set pm3d implicit;\n"); + else + fputs (plot_stream, "set pm3d explicit;\n"); + endif + if (isnan(hidden_removal) || hidden_removal) fputs (plot_stream, "set hidden3d;\n"); else *************** *** 1043,1050 **** fprintf (plot_stream, "set zrange [%.15e:%.15e] %s;\n", zlim, zdir); endif if (! any (isinf (clim))) ! fprintf (plot_stream, "set cbrange [%g:%g];\n", clim); endif if (strcmpi (axis_obj.box, "on")) --- 1049,1062 ---- fprintf (plot_stream, "set zrange [%.15e:%.15e] %s;\n", zlim, zdir); endif + cmap = parent_figure_obj.colormap; + cmap_sz = rows(cmap); if (! any (isinf (clim))) ! if (cdatadirect) ! fprintf (plot_stream, "set cbrange [1:%d];\n", cmap_sz); ! else ! fprintf (plot_stream, "set cbrange [%g:%g];\n", clim); ! endif endif if (strcmpi (axis_obj.box, "on")) *************** *** 1058,1078 **** fputs (plot_stream, "set border 895;\n"); else if (strcmpi (axis_obj.yaxislocation, "right")) ! fputs (plot_stream, "unset ytics; set y2tics nomirror\n"); if (strcmpi (axis_obj.xaxislocation, "top")) ! fputs (plot_stream, "unset xtics; set x2tics nomirror\n"); fputs (plot_stream, "set border 12;\n"); else ! fputs (plot_stream, "unset x2tics; set xtics nomirror\n"); fputs (plot_stream, "set border 9;\n"); endif else ! fputs (plot_stream, "unset y2tics; set ytics nomirror\n"); if (strcmpi (axis_obj.xaxislocation, "top")) ! fputs (plot_stream, "unset xtics; set x2tics nomirror\n"); fputs (plot_stream, "set border 6;\n"); else ! fputs (plot_stream, "unset x2tics; set xtics nomirror\n"); fputs (plot_stream, "set border 3;\n"); endif endif --- 1070,1096 ---- fputs (plot_stream, "set border 895;\n"); else if (strcmpi (axis_obj.yaxislocation, "right")) ! fputs (plot_stream, "unset ytics; set y2tics %s nomirror\n", ! axis_obj.tickdir); if (strcmpi (axis_obj.xaxislocation, "top")) ! fputs (plot_stream, "unset xtics; set x2tics %s nomirror\n", ! axis_obj.tickdir); fputs (plot_stream, "set border 12;\n"); else ! fputs (plot_stream, "unset x2tics; set xtics %s nomirror\n", ! axis_obj.tickdir); fputs (plot_stream, "set border 9;\n"); endif else ! fputs (plot_stream, "unset y2tics; set ytics %s nomirror\n", ! axis_obj.tickdir); if (strcmpi (axis_obj.xaxislocation, "top")) ! fputs (plot_stream, "unset xtics; set x2tics %s nomirror\n", ! axis_obj.tickdir); fputs (plot_stream, "set border 6;\n"); else ! fputs (plot_stream, "unset x2tics; set xtics %s nomirror\n", ! axis_obj.tickdir); fputs (plot_stream, "set border 3;\n"); endif endif *************** *** 1081,1086 **** --- 1099,1106 ---- if (strcmpi (axis_obj.visible, "off")) fputs (plot_stream, "unset border; unset tics\n"); + else + fprintf (plot_stream, "set border lw %f;\n", axis_obj.linewidth); endif if (strcmpi (axis_obj.key, "on")) *************** *** 1151,1158 **** endfor endif - cmap = parent_figure_obj.colormap; - cmap_sz = rows(cmap); if (length(cmap) > 0) if (have_newer_gnuplot) fprintf (plot_stream, --- 1171,1176 ---- *************** *** 1162,1167 **** --- 1180,1186 ---- "set palette file \"-\" binary record=%d using 1:2:3:4;\n", cmap_sz); fwrite (plot_stream, [1:cmap_sz; cmap.'], "float32"); + fwrite (plot_stream, "\n"); else fputs (plot_stream, "set palette defined ("); for i = 1: cmap_sz *************** *** 1178,1184 **** endif endif ! if (strcmp (axis_obj.__colorbar__, "none")) fputs (plot_stream, "unset colorbox;\n"); else ## FIXME If cbox_mirror is true we want to invert the tic labels --- 1197,1203 ---- endif endif ! if (strcmpi (get (h, "__colorbar__"), "none")) fputs (plot_stream, "unset colorbox;\n"); else ## FIXME If cbox_mirror is true we want to invert the tic labels *************** *** 1237,1243 **** endfunction ! function [style, typ, with] = do_linestyle_command (obj, idx, mono, plot_stream) persistent have_newer_gnuplot ... = compare_versions (__gnuplot_version__ (), "4.0", ">"); --- 1256,1263 ---- endfunction ! function [style, typ, with] = do_linestyle_command (obj, idx, mono, ! plot_stream, errbars = "") persistent have_newer_gnuplot ... = compare_versions (__gnuplot_version__ (), "4.0", ">"); *************** *** 1260,1284 **** round (255*color)); endif else ! if (isequal (color, [0,0,0])) ! typ = -1; ! elseif (isequal (color, [1,0,0])) ! typ = 1; ! elseif (isequal (color, [0,1,0])) ! typ = 2; ! elseif (isequal (color, [0,0,1])) ! typ = 3; ! elseif (isequal (color, [1,0,1])) ! typ = 4; ! elseif (isequal (color, [0,1,1])) ! typ = 5; ! elseif (isequal (color, [1,1,1])) ! typ = 6; ! elseif (isequal (color, [1,1,0])) ! typ = 7; ! else ! typ = 2; ! endif endif endif found_style = true; --- 1280,1286 ---- round (255*color)); endif else ! typ = get_old_gnuplot_color (color); endif endif found_style = true; *************** *** 1372,1394 **** pt = ""; endif ! style = "lines"; ! if (isempty (lt)) ! if (! isempty (pt)) ! style = "points"; endif - elseif (! isempty (pt)) - style = "linespoints"; - endif ! if (isfield (obj, "markersize")) ! if (have_newer_gnuplot) ! fprintf (plot_stream, " pointsize %f", obj.markersize); ! else ! if (! strcmpi (style, "lines")) ! with = sprintf ("%s ps %f", with, obj.markersize); endif endif found_style = true; endif --- 1374,1401 ---- pt = ""; endif ! if (isempty (errbars)) ! style = "lines"; ! if (isempty (lt)) ! if (! isempty (pt)) ! style = "points"; ! endif ! elseif (! isempty (pt)) ! style = "linespoints"; endif ! if (isfield (obj, "markersize")) ! if (have_newer_gnuplot) ! fprintf (plot_stream, " pointsize %f", obj.markersize / 6); ! else ! if (! strcmpi (style, "lines")) ! with = sprintf ("%s ps %f", with, obj.markersize / 6); ! endif endif + found_style = true; endif + else + style = errbars; found_style = true; endif *************** *** 1476,1517 **** function do_tics (obj, plot_stream, ymirror, mono) if (strcmpi (obj.xaxislocation, "top")) do_tics_1 (obj.xtickmode, obj.xtick, obj.xticklabelmode, obj.xticklabel, ! obj.xcolor, "x2", plot_stream, true, mono, "border"); do_tics_1 ("manual", [], obj.xticklabelmode, obj.xticklabel, ! obj.xcolor, "x", plot_stream, true, mono, "border"); elseif (strcmpi (obj.xaxislocation, "zero")) do_tics_1 (obj.xtickmode, obj.xtick, obj.xticklabelmode, obj.xticklabel, ! obj.xcolor, "x", plot_stream, true, mono, "axis"); do_tics_1 ("manual", [], obj.xticklabelmode, obj.xticklabel, ! obj.xcolor, "x2", plot_stream, true, mono, "axis"); else do_tics_1 (obj.xtickmode, obj.xtick, obj.xticklabelmode, obj.xticklabel, ! obj.xcolor, "x", plot_stream, true, mono, "border"); do_tics_1 ("manual", [], obj.xticklabelmode, obj.xticklabel, ! obj.xcolor, "x2", plot_stream, true, mono, "border"); endif if (strcmpi (obj.yaxislocation, "right")) do_tics_1 (obj.ytickmode, obj.ytick, obj.yticklabelmode, obj.yticklabel, ! obj.ycolor, "y2", plot_stream, ymirror, mono, "border"); do_tics_1 ("manual", [], obj.yticklabelmode, obj.yticklabel, ! obj.ycolor, "y", plot_stream, ymirror, mono, "border"); elseif (strcmpi (obj.xaxislocation, "zero")) do_tics_1 (obj.ytickmode, obj.ytick, obj.yticklabelmode, obj.yticklabel, ! obj.ycolor, "y", plot_stream, ymirror, mono, "axis"); do_tics_1 ("manual", [], obj.yticklabelmode, obj.yticklabel, ! obj.ycolor, "y2", plot_stream, ymirror, mono, "axis"); else do_tics_1 (obj.ytickmode, obj.ytick, obj.yticklabelmode, obj.yticklabel, ! obj.ycolor, "y", plot_stream, ymirror, mono, "border"); do_tics_1 ("manual", [], obj.yticklabelmode, obj.yticklabel, ! obj.ycolor, "y2", plot_stream, ymirror, mono, "border"); endif do_tics_1 (obj.ztickmode, obj.ztick, obj.zticklabelmode, obj.zticklabel, ! obj.zcolor, "z", plot_stream, true, mono, "border"); endfunction function do_tics_1 (ticmode, tics, labelmode, labels, color, ax, ! plot_stream, mirror, mono, axispos) colorspec = get_text_colorspec (color, mono); if (strcmpi (ticmode, "manual")) if (isempty (tics)) --- 1483,1531 ---- function do_tics (obj, plot_stream, ymirror, mono) if (strcmpi (obj.xaxislocation, "top")) do_tics_1 (obj.xtickmode, obj.xtick, obj.xticklabelmode, obj.xticklabel, ! obj.xcolor, "x2", plot_stream, true, mono, "border", ! obj.tickdir); do_tics_1 ("manual", [], obj.xticklabelmode, obj.xticklabel, ! obj.xcolor, "x", plot_stream, true, mono, "border", ""); elseif (strcmpi (obj.xaxislocation, "zero")) do_tics_1 (obj.xtickmode, obj.xtick, obj.xticklabelmode, obj.xticklabel, ! obj.xcolor, "x", plot_stream, true, mono, "axis", ! obj.tickdir); do_tics_1 ("manual", [], obj.xticklabelmode, obj.xticklabel, ! obj.xcolor, "x2", plot_stream, true, mono, "axis", ""); else do_tics_1 (obj.xtickmode, obj.xtick, obj.xticklabelmode, obj.xticklabel, ! obj.xcolor, "x", plot_stream, true, mono, "border", ! obj.tickdir); do_tics_1 ("manual", [], obj.xticklabelmode, obj.xticklabel, ! obj.xcolor, "x2", plot_stream, true, mono, "border", ""); endif if (strcmpi (obj.yaxislocation, "right")) do_tics_1 (obj.ytickmode, obj.ytick, obj.yticklabelmode, obj.yticklabel, ! obj.ycolor, "y2", plot_stream, ymirror, mono, "border", ! obj.tickdir); do_tics_1 ("manual", [], obj.yticklabelmode, obj.yticklabel, ! obj.ycolor, "y", plot_stream, ymirror, mono, "border", ""); elseif (strcmpi (obj.xaxislocation, "zero")) do_tics_1 (obj.ytickmode, obj.ytick, obj.yticklabelmode, obj.yticklabel, ! obj.ycolor, "y", plot_stream, ymirror, mono, "axis", ! obj.tickdir); do_tics_1 ("manual", [], obj.yticklabelmode, obj.yticklabel, ! obj.ycolor, "y2", plot_stream, ymirror, mono, "axis", ""); else do_tics_1 (obj.ytickmode, obj.ytick, obj.yticklabelmode, obj.yticklabel, ! obj.ycolor, "y", plot_stream, ymirror, mono, "border", ! obj.tickdir); do_tics_1 ("manual", [], obj.yticklabelmode, obj.yticklabel, ! obj.ycolor, "y2", plot_stream, ymirror, mono, "border", ""); endif do_tics_1 (obj.ztickmode, obj.ztick, obj.zticklabelmode, obj.zticklabel, ! obj.zcolor, "z", plot_stream, true, mono, "border", ! obj.tickdir); endfunction function do_tics_1 (ticmode, tics, labelmode, labels, color, ax, ! plot_stream, mirror, mono, axispos, tickdir) colorspec = get_text_colorspec (color, mono); if (strcmpi (ticmode, "manual")) if (isempty (tics)) *************** *** 1526,1538 **** nlabels = numel (labels); fprintf (plot_stream, "set format %s \"%%s\";\n", ax); if (mirror) ! fprintf (plot_stream, "set %stics %s (", ax, axispos); else ! fprintf (plot_stream, "set %stics %s nomirror (", ax, axispos); endif labels = regexprep(labels, "%", "%%"); for i = 1:ntics ! fprintf (plot_stream, " \"%s\" %g", labels{k++}, tics(i)) if (i < ntics) fputs (plot_stream, ", "); endif --- 1540,1553 ---- nlabels = numel (labels); fprintf (plot_stream, "set format %s \"%%s\";\n", ax); if (mirror) ! fprintf (plot_stream, "set %stics %s %s (", ax, tickdir, axispos); else ! fprintf (plot_stream, "set %stics %s %s nomirror (", ax, ! tickdir, axispos); endif labels = regexprep(labels, "%", "%%"); for i = 1:ntics ! fprintf (plot_stream, " \"%s\" %g", labels{k++}, tics(i)); if (i < ntics) fputs (plot_stream, ", "); endif *************** *** 1547,1555 **** else fprintf (plot_stream, "set format %s \"%%g\";\n", ax); if (mirror) ! fprintf (plot_stream, "set %stics %s (", ax, axispos ); else ! fprintf (plot_stream, "set %stics %s nomirror (", ax, axispos); endif fprintf (plot_stream, " %g,", tics(1:end-1)); fprintf (plot_stream, " %g);\n", tics(end)); --- 1562,1571 ---- else fprintf (plot_stream, "set format %s \"%%g\";\n", ax); if (mirror) ! fprintf (plot_stream, "set %stics %s %s (", ax, tickdir, axispos ); else ! fprintf (plot_stream, "set %stics %s %s nomirror (", ax, tickdir, ! axispos); endif fprintf (plot_stream, " %g,", tics(1:end-1)); fprintf (plot_stream, " %g);\n", tics(end)); *************** *** 1557,1566 **** else fprintf (plot_stream, "set format %s \"%%g\";\n", ax); if (mirror) ! fprintf (plot_stream, "set %stics %s %s;\n", ax, axispos, colorspec); else ! fprintf (plot_stream, "set %stics %s nomirror %s;\n", ax, ! axispos, colorspec); endif endif endfunction --- 1573,1583 ---- else fprintf (plot_stream, "set format %s \"%%g\";\n", ax); if (mirror) ! fprintf (plot_stream, "set %stics %s %s %s;\n", ax, axispos, tickdir, ! colorspec); else ! fprintf (plot_stream, "set %stics %s %s nomirror %s;\n", ax, ! tickdir, axispos, colorspec); endif endif endfunction *************** *** 1577,1618 **** round (255*color)); endif else ! if (isequal (color, [0,0,0])) ! typ = -1; ! elseif (isequal (color, [1,0,0])) ! typ = 1; ! elseif (isequal (color, [0,1,0])) ! typ = 2; ! elseif (isequal (color, [0,0,1])) ! typ = 3; ! elseif (isequal (color, [1,0,1])) ! typ = 4; ! elseif (isequal (color, [0,1,1])) ! typ = 5; ! elseif (isequal (color, [1,1,1])) ! typ = -1; ! elseif (isequal (color, [1,1,0])) ! typ = 7; ! else ! typ = -1; ! endif colorspec = sprintf ("textcolor lt %d", typ); endif endfunction function [f, s, fnt, it, bld] = get_fontname_and_size (t) if (isempty (t.fontname)) ! fnt = "helvetica"; else ! fnt = tolower (t.fontname); endif f = fnt; it = false; bld = false; ! if (! isempty (t.fontweight) && strcmp (tolower (t.fontweight), "bold")) if (! isempty(t.fontangle) ! && (strcmp (tolower (t.fontangle), "italic") ! || strcmp (tolower (t.fontangle), "oblique"))) f = strcat (f, "-bolditalic"); it = true; bld = true; --- 1594,1617 ---- round (255*color)); endif else ! typ = get_old_gnuplot_color (color); colorspec = sprintf ("textcolor lt %d", typ); endif endfunction function [f, s, fnt, it, bld] = get_fontname_and_size (t) if (isempty (t.fontname)) ! fnt = "Helvetica"; else ! fnt = t.fontname; endif f = fnt; it = false; bld = false; ! if (! isempty (t.fontweight) && strcmpi (t.fontweight, "bold")) if (! isempty(t.fontangle) ! && (strcmpi (t.fontangle, "italic") ! || strcmpi (t.fontangle, "oblique"))) f = strcat (f, "-bolditalic"); it = true; bld = true; *************** *** 1621,1628 **** bld = true; endif elseif (! isempty(t.fontangle) ! && (strcmp (tolower (t.fontangle), "italic") ! || strcmp (tolower (t.fontangle), "oblique"))) f = strcat (f, "-italic"); it = true; endif --- 1620,1627 ---- bld = true; endif elseif (! isempty(t.fontangle) ! && (strcmpi (t.fontangle, "italic") ! || strcmpi (t.fontangle, "oblique"))) f = strcat (f, "-italic"); it = true; endif *************** *** 1640,1646 **** if (strcmp (fld, "string")) [f, s, fnt, it, bld] = get_fontname_and_size (obj); else ! f = "Helvectica"; s = 10; fnt = f; it = false; --- 1639,1645 ---- if (strcmp (fld, "string")) [f, s, fnt, it, bld] = get_fontname_and_size (obj); else ! f = "Helvetica"; s = 10; fnt = f; it = false; *************** *** 1862,1875 **** sym.cong = '{/Symbol \100}'; sym.Delta = '{/Symbol D}'; sym.Phi = '{/Symbol F}'; ! sym.Gamma = '/Symbol G}'; sym.vartheta = '{/Symbol J}'; sym.Lambda = '{/Symbol L}'; sym.Pi = '{/Symbol P}'; sym.Theta = '{/Symbol Q}'; sym.Sigma = '{/Symbol S}'; sym.varsigma = '{/Symbol V}'; ! sym.Omega = '{/Symbol O}'; sym.Xi = '{/Symbol X}'; sym.Psi = '{/Symbol Y}'; sym.perp = '{/Symbol \136}'; --- 1861,1874 ---- sym.cong = '{/Symbol \100}'; sym.Delta = '{/Symbol D}'; sym.Phi = '{/Symbol F}'; ! sym.Gamma = '{/Symbol G}'; sym.vartheta = '{/Symbol J}'; sym.Lambda = '{/Symbol L}'; sym.Pi = '{/Symbol P}'; sym.Theta = '{/Symbol Q}'; sym.Sigma = '{/Symbol S}'; sym.varsigma = '{/Symbol V}'; ! sym.Omega = '{/Symbol W}'; sym.Xi = '{/Symbol X}'; sym.Psi = '{/Symbol Y}'; sym.perp = '{/Symbol \136}'; *************** *** 1879,1887 **** sym.delta = '{/Symbol d}'; sym.epsilon = '{/Symbol e}'; sym.phi = '{/Symbol f}'; ! sym.gamma = '/Symbol g}'; sym.eta = '{/Symbol h}'; sym.iota = '{/Symbol i}'; sym.kappa = '{/Symbol k}'; sym.lambda = '{/Symbol l}'; sym.mu = '{/Symbol m}'; --- 1878,1887 ---- sym.delta = '{/Symbol d}'; sym.epsilon = '{/Symbol e}'; sym.phi = '{/Symbol f}'; ! sym.gamma = '{/Symbol g}'; sym.eta = '{/Symbol h}'; sym.iota = '{/Symbol i}'; + sym.varphi = '{/Symbol j}'; sym.kappa = '{/Symbol k}'; sym.lambda = '{/Symbol l}'; sym.mu = '{/Symbol m}'; *************** *** 1939,1962 **** sym.subset = '{/Symbol \314}'; sym.subseteq = '{/Symbol \315}'; sym.in = '{/Symbol \316}'; ! sym.langle = '{/Symbol \320}'; ! sym.rangle = '{/Symbol \320}'; sym.nabla = '{/Symbol \321}'; sym.surd = '{/Symbol \326}'; sym.cdot = '{/Symbol \327}'; sym.neg = '{/Symbol \330}'; sym.wedge = '{/Symbol \331}'; sym.vee = '{/Symbol \332}'; sym.copyright = '{/Symbol \343}'; ! sym.rfloor = '{/Symbol \353}'; sym.lceil = '{/Symbol \351}'; ! sym.lfloor = '{/Symbol \373}'; sym.rceil = '{/Symbol \371}'; sym.int = '{/Symbol \362}'; endfunction ! function [pos, orient, sz, origin, mirr] = gnuplot_postion_colorbox (pos, cbox) ! ## This is an emprically derived function that if (strncmp (cbox, "north", 5) || strncmp (cbox, "south", 5)) scl = pos([2,4]); --- 1939,1973 ---- sym.subset = '{/Symbol \314}'; sym.subseteq = '{/Symbol \315}'; sym.in = '{/Symbol \316}'; ! sym.notin = '{/Symbol \317}'; ! sym.angle = '{/Symbol \320}'; ! sym.bigtriangledown = '{/Symbol \321}'; ! sym.langle = '{/Symbol \341}'; ! sym.rangle = '{/Symbol \361}'; sym.nabla = '{/Symbol \321}'; + sym.prod = '{/Symbol \325}'; sym.surd = '{/Symbol \326}'; sym.cdot = '{/Symbol \327}'; sym.neg = '{/Symbol \330}'; sym.wedge = '{/Symbol \331}'; sym.vee = '{/Symbol \332}'; + sym.Leftrightarrow = '{/Symbol \333}'; + sym.Leftarrow = '{/Symbol \334}'; + sym.Uparrow = '{/Symbol \335}'; + sym.Rightarrow = '{/Symbol \336}'; + sym.Downarrow = '{/Symbol \337}'; + sym.diamond = '{/Symbol \340}'; sym.copyright = '{/Symbol \343}'; ! sym.lfloor = '{/Symbol \353}'; sym.lceil = '{/Symbol \351}'; ! sym.rfloor = '{/Symbol \373}'; sym.rceil = '{/Symbol \371}'; sym.int = '{/Symbol \362}'; endfunction ! function [pos, orient, sz, origin, mirr] = gnuplot_position_colorbox (pos, cbox, obj) ! ## This is an emprically derived function that attempts to find a good ! ## size for the colorbox even for subplots and strange aspect ratios. if (strncmp (cbox, "north", 5) || strncmp (cbox, "south", 5)) scl = pos([2,4]); *************** *** 1971,2015 **** endif endif switch (cbox) case "northoutside" ! sz = pos(3:4) - 0.08; ! origin = [0.05, 0.06] + [0.00, 0.88] .* sz + pos(1:2); mirr = true; orient = "horizontal"; case "north" ! sz = pos(3:4) - 0.16; ! origin = [0.09, 0.09] + [0.00, 0.94] .* sz + pos(1:2); mirr = false; orient = "horizontal"; case "southoutside" ! sz = pos(3:4) - 0.08; ! origin = [0.05, 0.06] + [0.00, 0.00] .* sz + pos(1:2); mirr = false; orient = "horizontal"; case "south" ! sz = pos(3:4) - 0.16; ! origin = [0.08, 0.09] + [0.03, 0.05] .* sz + pos(1:2); mirr = true; orient = "horizontal"; case "eastoutside" ! sz = pos(3:4) - 0.08; ! origin = [0.00, 0.06] + [0.94, 0.00] .* sz + pos(1:2); mirr = false; orient = "vertical"; case "east" ! sz = pos(3:4) - 0.16; ! origin = [0.09, 0.10] + [0.91, 0.01] .* sz + pos(1:2); mirr = true; orient = "vertical"; case "westoutside" ! sz = pos(3:4) - 0.08; ! origin = [0.00, 0.06] + [0.06, 0.00] .* sz + pos(1:2); mirr = true; orient = "vertical"; case "west" ! sz = pos(3:4) - 0.16; ! origin = [0.06, 0.09] + [0.04, 0.03] .* sz + pos(1:2); mirr = false; orient = "vertical"; endswitch --- 1982,2055 ---- endif endif + if (strcmpi (obj.dataaspectratiomode, "manual")) + sz = min(pos(3:4))([1,1]); + r = obj.dataaspectratio; + if (pos(3) > pos(4)) + switch (cbox) + case {"north", "northoutside"} + off = 4 / 3 * [(pos(3) - pos(4)) ./ (r(2)/r(1)), pos(4) / pos(3) / 2]; + sz = 2 * sz / 3; + case {"south", "southoutside"} + off = 4 / 3 * [(pos(3) - pos(4)) ./ (r(2)/r(1)), 0]; + sz = 2 * sz / 3; + otherwise + off = [(pos(3) - pos(4)) ./ (r(2)/r(1)), 0]; + endswitch + else + switch (cbox) + case {"north", "northoutside"} + off = 1.5 * [0, (pos(4) - pos(3)) ./ (r(1) / r(2))]; + case {"south", "southoutside"} + off = 0.5 * [0, (pos(4) - pos(3)) ./ (r(1) / r(2))]; + otherwise + off = [0, (pos(4) - pos(3)) ./ (r(1) / r(2))]; + endswitch + endif + off = off / 2; + else + sz = pos(3:4); + off = 0; + endif switch (cbox) case "northoutside" ! sz = sz - 0.08; ! origin = [0.05, 0.06] + [0.00, 0.88] .* sz + pos(1:2) + off; mirr = true; orient = "horizontal"; case "north" ! sz = sz - 0.16; ! origin = [0.09, 0.09] + [0.00, 0.94] .* sz + pos(1:2) + off; mirr = false; orient = "horizontal"; case "southoutside" ! sz = sz - 0.08; ! origin = [0.05, 0.06] + [0.00, 0.00] .* sz + pos(1:2) + off; mirr = false; orient = "horizontal"; case "south" ! sz = sz - 0.16; ! origin = [0.08, 0.09] + [0.03, 0.05] .* sz + pos(1:2) + off; mirr = true; orient = "horizontal"; case "eastoutside" ! sz = sz - 0.08; ! origin = [0.00, 0.06] + [0.94, 0.00] .* sz + pos(1:2) + off; mirr = false; orient = "vertical"; case "east" ! sz = sz - 0.16; ! origin = [0.09, 0.10] + [0.91, 0.01] .* sz + pos(1:2) + off; mirr = true; orient = "vertical"; case "westoutside" ! sz = sz - 0.08; ! origin = [0.00, 0.06] + [0.06, 0.00] .* sz + pos(1:2) + off; mirr = true; orient = "vertical"; case "west" ! sz = sz - 0.16; ! origin = [0.06, 0.09] + [0.04, 0.03] .* sz + pos(1:2) + off; mirr = false; orient = "vertical"; endswitch *************** *** 2023,2025 **** --- 2063,2098 ---- endif endfunction + + function retval = __do_enhanced_option__ (enhanced, obj) + retval = ""; + if (enhanced) + if (strcmpi (obj.interpreter, "none")) + retval = "noenhanced"; + else + retval = "enhanced"; + endif + endif + endfunction + + function typ = get_old_gnuplot_color (color) + if (isequal (color, [0, 0, 0])) + typ = -1; + elseif (isequal (color, [1, 0, 0])) + typ = 1; + elseif (isequal (color, [0, 1, 0])) + typ = 2; + elseif (isequal (color, [0, 0, 1])) + typ = 3; + elseif (isequal (color, [1, 0, 1])) + typ = 4; + elseif (isequal (color, [0, 1, 1])) + typ = 5; + elseif (isequal (color, [1, 1, 1])) + typ = -1; + elseif (isequal (color, [1, 1, 0])) + typ = 7; + else + typ = -1; + endif + endfunction diff -cNr octave-3.0.0/scripts/plot/__plt2sv__.m octave-3.0.1/scripts/plot/__plt2sv__.m *** octave-3.0.0/scripts/plot/__plt2sv__.m Wed Dec 31 19:00:00 1969 --- octave-3.0.1/scripts/plot/__plt2sv__.m Mon Apr 21 12:00:20 2008 *************** *** 0 **** --- 1,61 ---- + ## Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2003, 2005, + ## 2006, 2007, 2008 John W. Eaton + ## + ## 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 + ## . + + ## Undocumented internal function. + + ## Author: jwe + + function retval = __plt2sv__ (h, x, y, options, properties) + + if (nargin < 3 || nargin > 5) + print_usage (); + endif + + if (nargin < 4 || isempty (options)) + options = __default_plot_options__ (); + endif + + if (nargin < 5) + properties = {}; + endif + + if (isscalar (x) && isvector (y)) + len = numel (y); + if (numel (options) == 1) + options = repmat (options(:), len, 1); + endif + retval = zeros (len, 1); + for i = 1:len + tkey = options(i).key; + if (! isempty (tkey)) + set (h, "key", "on"); + endif + color = options(i).color; + if (isempty (color)) + color = __next_line_color__ (); + endif + retval(i) = line (x, y(i), "keylabel", tkey, "color", color, + "linestyle", options(i).linestyle, + "marker", options(i).marker, properties{:}); + endfor + else + error ("__plt2sv__: first arg must be scalar, second arg must be vector"); + endif + + endfunction diff -cNr octave-3.0.0/scripts/plot/__plt2vs__.m octave-3.0.1/scripts/plot/__plt2vs__.m *** octave-3.0.0/scripts/plot/__plt2vs__.m Wed Dec 31 19:00:00 1969 --- octave-3.0.1/scripts/plot/__plt2vs__.m Mon Apr 21 12:00:20 2008 *************** *** 0 **** --- 1,61 ---- + ## Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2003, 2005, + ## 2006, 2007, 2008 John W. Eaton + ## + ## 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 + ## . + + ## Undocumented internal function. + + ## Author: jwe + + function retval = __plt2vs__ (h, x, y, options, properties) + + if (nargin < 3 || nargin > 5) + print_usage (); + endif + + if (nargin < 4 || isempty (options)) + options = __default_plot_options__ (); + endif + + if (nargin < 5) + properties = {}; + endif + + if (isvector (x) && isscalar (y)) + len = numel (x); + if (numel (options) == 1) + options = repmat (options(:), len, 1); + endif + retval = zeros (len, 1); + for i = 1:len + tkey = options(i).key; + if (! isempty (tkey)) + set (h, "key", "on"); + endif + color = options(i).color; + if (isempty (color)) + color = __next_line_color__ (); + endif + retval(i) = line (x(i), y, "keylabel", tkey, "color", color, + "linestyle", options(i).linestyle, + "marker", options(i).marker, properties{:}); + endfor + else + error ("__plt2vs__: first arg must be vector, second arg must be scalar"); + endif + + endfunction diff -cNr octave-3.0.0/scripts/plot/__quiver__.m octave-3.0.1/scripts/plot/__quiver__.m *** octave-3.0.0/scripts/plot/__quiver__.m Mon Nov 26 16:24:33 2007 --- octave-3.0.1/scripts/plot/__quiver__.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2007 David Bateman ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2007, 2008 David Bateman ## ## This file is part of Octave. ## *************** *** 133,143 **** h1 = plot3 ([x.'; xend.'; NaN(1, length (x))](:), [y.'; yend.'; NaN(1, length (y))](:), [z.'; zend.'; NaN(1, length (z))](:), ! "linestyle", linespec.linestyle); else h1 = plot ([x.'; xend.'; NaN(1, length (x))](:), [y.'; yend.'; NaN(1, length (y))](:), ! "linestyle", linespec.linestyle); endif else if (is3d) --- 133,145 ---- h1 = plot3 ([x.'; xend.'; NaN(1, length (x))](:), [y.'; yend.'; NaN(1, length (y))](:), [z.'; zend.'; NaN(1, length (z))](:), ! "linestyle", linespec.linestyle, ! "color", linespec.color); else h1 = plot ([x.'; xend.'; NaN(1, length (x))](:), [y.'; yend.'; NaN(1, length (y))](:), ! "linestyle", linespec.linestyle, ! "color", linespec.color); endif else if (is3d) *************** *** 158,164 **** yarrw1 = ytmp - (x - xend) * arrowsize / 3; yarrw2 = ytmp + (x - xend) * arrowsize / 3; if (is3d) ! zarrw1 = zarrw2 = zend - w(:) * arrowsize / 3; endif if (have_line_spec) --- 160,166 ---- yarrw1 = ytmp - (x - xend) * arrowsize / 3; yarrw2 = ytmp + (x - xend) * arrowsize / 3; if (is3d) ! zarrw1 = zarrw2 = zend - w(:) * arrowsize; endif if (have_line_spec) *************** *** 179,189 **** h2 = plot3 ([xarrw1.'; xend.'; xarrw2.'; NaN(1, length (x))](:), [yarrw1.'; yend.'; yarrw2.'; NaN(1, length (y))](:), [zarrw1.'; zend.'; zarrw2.'; NaN(1, length (z))](:), ! "linestyle", linespec.linestyle); else h2 = plot ([xarrw1.'; xend.'; xarrw2.'; NaN(1, length (x))](:), [yarrw1.'; yend.'; yarrw2.'; NaN(1, length (y))](:), ! "linestyle", linespec.linestyle); endif endif elseif (is3d) --- 181,193 ---- h2 = plot3 ([xarrw1.'; xend.'; xarrw2.'; NaN(1, length (x))](:), [yarrw1.'; yend.'; yarrw2.'; NaN(1, length (y))](:), [zarrw1.'; zend.'; zarrw2.'; NaN(1, length (z))](:), ! "linestyle", linespec.linestyle, ! "color", linespec.color); else h2 = plot ([xarrw1.'; xend.'; xarrw2.'; NaN(1, length (x))](:), [yarrw1.'; yend.'; yarrw2.'; NaN(1, length (y))](:), ! "linestyle", linespec.linestyle, ! "color", linespec.color); endif endif elseif (is3d) diff -cNr octave-3.0.0/scripts/plot/colorbar.m octave-3.0.1/scripts/plot/colorbar.m *** octave-3.0.0/scripts/plot/colorbar.m Wed Dec 5 17:09:53 2007 --- octave-3.0.1/scripts/plot/colorbar.m Mon Apr 21 11:58:40 2008 *************** *** 148,150 **** --- 148,239 ---- %! imagesc(x) %! colorbar("southoutside"); + %!demo + %! hold off; + %! n = 64; x = kron (1:n,ones(n,1)); x = abs(x - x.'); + %! subplot(1,2,1) + %! imagesc(x) + %! axis square; + %! colorbar(); + %! subplot(1,2,2) + %! imagesc(x) + %! axis square; + %! colorbar("westoutside"); + + %!demo + %! hold off; + %! n = 64; x = kron (1:n,ones(n,1)); x = abs(x - x.'); + %! subplot(1,2,1) + %! imagesc(x) + %! axis square; + %! colorbar("northoutside"); + %! subplot(1,2,2) + %! imagesc(x) + %! axis square; + %! colorbar("southoutside"); + + %!demo + %! hold off; + %! n = 64; x = kron (1:n,ones(n,1)); x = abs(x - x.'); + %! subplot(2,1,1) + %! imagesc(x) + %! axis square; + %! colorbar(); + %! subplot(2,1,2) + %! imagesc(x) + %! axis square; + %! colorbar("westoutside"); + + %!demo + %! hold off; + %! n = 64; x = kron (1:n,ones(n,1)); x = abs(x - x.'); + %! subplot(2,1,1) + %! imagesc(x) + %! axis square; + %! colorbar("northoutside"); + %! subplot(2,1,2) + %! imagesc(x) + %! axis square; + %! colorbar("southoutside"); + + %!demo + %! hold off; + %! n = 64; x = kron (1:n,ones(n,1)); x = abs(x - x.'); + %! subplot(1,2,1) + %! imagesc(x) + %! colorbar(); + %! subplot(1,2,2) + %! imagesc(x) + %! colorbar("westoutside"); + + %!demo + %! hold off; + %! n = 64; x = kron (1:n,ones(n,1)); x = abs(x - x.'); + %! subplot(1,2,1) + %! imagesc(x) + %! colorbar("northoutside"); + %! subplot(1,2,2) + %! imagesc(x) + %! colorbar("southoutside"); + + %!demo + %! hold off; + %! n = 64; x = kron (1:n,ones(n,1)); x = abs(x - x.'); + %! subplot(2,1,1) + %! imagesc(x) + %! colorbar(); + %! subplot(2,1,2) + %! imagesc(x) + %! colorbar("westoutside"); + + %!demo + %! hold off; + %! n = 64; x = kron (1:n,ones(n,1)); x = abs(x - x.'); + %! subplot(2,1,1) + %! imagesc(x) + %! colorbar("northoutside"); + %! subplot(2,1,2) + %! imagesc(x) + %! colorbar("southoutside"); + + diff -cNr octave-3.0.0/scripts/plot/contourf.m octave-3.0.1/scripts/plot/contourf.m *** octave-3.0.0/scripts/plot/contourf.m Fri Dec 21 12:45:16 2007 --- octave-3.0.1/scripts/plot/contourf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2007 Kai Habel ## Copyright (C) 2003 Shai Ayal ## ## This file is part of Octave. --- 1,4 ---- ! ## Copyright (C) 2007, 2008 Kai Habel ## Copyright (C) 2003 Shai Ayal ## ## This file is part of Octave. *************** *** 180,185 **** --- 180,187 ---- set (gca(), "clim", [min(lev), max(lev)]); endif + set (gca (), "layer", "top"); + if (nargout > 0) varargout{2} = h; varargout{1} = c; diff -cNr octave-3.0.0/scripts/plot/drawnow.m octave-3.0.1/scripts/plot/drawnow.m *** octave-3.0.0/scripts/plot/drawnow.m Fri Dec 7 14:26:20 2007 --- octave-3.0.1/scripts/plot/drawnow.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2005, 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2005, 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 43,48 **** --- 43,52 ---- endif if (nargin >= 2 && nargin <= 4) + [dnm, fnm, ext] = fileparts (file); + if (! (isempty (dnm) || isdir (dnm))) + error ("drawnow: nonexistent directory `%s'", dnm); + endif h = get (0, "currentfigure"); if (h) f = get (h); *************** *** 208,214 **** ## should not be interpreted in that case. if (compare_versions (__gnuplot_version__ (), "4.0", ">")) enhanced_terminals = {"aqua", "dumb", "png", "jpeg", "gif", "pm", ... ! "windows", "wxt", "svg", "postscript", "x11"}; else enhanced_terminals = {"x11", "postscript"}; endif --- 212,218 ---- ## should not be interpreted in that case. if (compare_versions (__gnuplot_version__ (), "4.0", ">")) enhanced_terminals = {"aqua", "dumb", "png", "jpeg", "gif", "pm", ... ! "windows", "wxt", "svg", "postscript", "x11", "pdf"}; else enhanced_terminals = {"x11", "postscript"}; endif diff -cNr octave-3.0.0/scripts/plot/errorbar.m octave-3.0.1/scripts/plot/errorbar.m *** octave-3.0.0/scripts/plot/errorbar.m Thu Nov 29 14:07:29 2007 --- octave-3.0.1/scripts/plot/errorbar.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2000, 2001, 2002, 2004, 2005, 2006, 2007 Teemu Ikonen ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2000, 2001, 2002, 2004, 2005, 2006, 2007, 2008 Teemu Ikonen ## ## This file is part of Octave. ## *************** *** 108,114 **** ## Author: Teemu Ikonen ## Keywords: errorbar, plotting ! function errorbar (varargin) [h, varargin] = __plt_get_axis_arg__ ("errorbar", varargin{:}); --- 108,114 ---- ## Author: Teemu Ikonen ## Keywords: errorbar, plotting ! function retval = errorbar (varargin) [h, varargin] = __plt_get_axis_arg__ ("errorbar", varargin{:}); *************** *** 116,122 **** unwind_protect axes (h); newplot (); ! __errcomm__ ("errorbar", h, varargin{:}); unwind_protect_cleanup axes (oldh); end_unwind_protect --- 116,127 ---- unwind_protect axes (h); newplot (); ! ! tmp = __errcomm__ ("errorbar", h, varargin{:}); ! ! if (nargout > 0) ! retval = tmp; ! endif unwind_protect_cleanup axes (oldh); end_unwind_protect diff -cNr octave-3.0.0/scripts/plot/hist.m octave-3.0.1/scripts/plot/hist.m *** octave-3.0.0/scripts/plot/hist.m Tue Nov 27 21:32:42 2007 --- octave-3.0.1/scripts/plot/hist.m Mon Apr 21 12:00:20 2008 *************** *** 1,5 **** ## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003, ! ## 2004, 2005, 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,5 ---- ## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003, ! ## 2004, 2005, 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 97,105 **** cutoff = (x(1:end-1,:) + x(2:end,:)) / 2; n = rows (x); if (n < 30 && columns (x) == 1) ## The following algorithm works fastest for n less than about 30. ! chist = zeros (n+1, columns (y)); for i = 1:n-1 chist(i+1,:) = sum (y <= cutoff(i)); endfor --- 97,106 ---- cutoff = (x(1:end-1,:) + x(2:end,:)) / 2; n = rows (x); + y_nc = columns (y); if (n < 30 && columns (x) == 1) ## The following algorithm works fastest for n less than about 30. ! chist = zeros (n+1, y_nc); for i = 1:n-1 chist(i+1,:) = sum (y <= cutoff(i)); endfor *************** *** 108,120 **** ## The following algorithm works fastest for n greater than about 30. ## Put cutoff elements between boundaries, integrate over all ## elements, keep totals at boundaries. ! [s, idx] = sort ([y; cutoff]); len = rows (y); chist = cumsum (idx <= len); ! t1 = zeros (1, columns (y)); ! t2 = reshape (chist(idx > len), size (cutoff)); ! t3 = chist(end,:) - sum (isnan (y)); ! chist = [t1; t2; t3]; endif freq = diff (chist); --- 109,120 ---- ## The following algorithm works fastest for n greater than about 30. ## Put cutoff elements between boundaries, integrate over all ## elements, keep totals at boundaries. ! [s, idx] = sort ([y; repmat(cutoff, 1, y_nc)]); len = rows (y); chist = cumsum (idx <= len); ! chist = [(zeros (1, y_nc)); ! (reshape (chist(idx > len), rows (cutoff), y_nc)); ! (chist(end,:) - sum (isnan (y)))]; endif freq = diff (chist); *************** *** 166,168 **** --- 166,170 ---- %! assert( sum(hist([1:n], 29)), n); %! assert( sum(hist([1:n], 30)), n); %! endfor + %!test + %! assert (size (hist(randn(750,240), 200)), [200,240]); diff -cNr octave-3.0.0/scripts/plot/pcolor.m octave-3.0.1/scripts/plot/pcolor.m *** octave-3.0.0/scripts/plot/pcolor.m Mon Dec 10 01:52:51 2007 --- octave-3.0.1/scripts/plot/pcolor.m Mon Apr 21 11:58:40 2008 *************** *** 36,44 **** if (nargin == 1) c = x; ! z = zeros (size (c)); ! [nr, nc] = size (c); ! [x, y] = meshgrid (1:nr, 1:nc); elseif (nargin == 3) z = zeros (size (c)); else --- 36,44 ---- if (nargin == 1) c = x; ! [nr, nc] = size(c); ! z = zeros (nr, nc); ! [x, y] = meshgrid (1:nc, 1:nr); elseif (nargin == 3) z = zeros (size (c)); else diff -cNr octave-3.0.0/scripts/plot/print.m octave-3.0.1/scripts/plot/print.m *** octave-3.0.0/scripts/plot/print.m Fri Dec 7 14:26:20 2007 --- octave-3.0.1/scripts/plot/print.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1999, 2005, 2006, 2007 Daniel Heiserer ## Copyright (C) 2001 Laurent Mazet ## ## This file is part of Octave. --- 1,4 ---- ! ## Copyright (C) 1999, 2005, 2006, 2007, 2008 Daniel Heiserer ## Copyright (C) 2001 Laurent Mazet ## ## This file is part of Octave. *************** *** 82,91 **** --- 82,98 ---- ## Metafont ## @item png ## Portable network graphics + ## @item jpg + ## @itemx jpeg + ## JPEG image + ## @item gif + ## GIF image ## @item pbm ## PBMplus ## @item svg ## Scalable vector graphics + ## @item pdf + ## Portable document format ## @end table ## ## Other devices are supported by "convert" from ImageMagick. Type *************** *** 216,225 **** endif ## check if we have to use convert ! dev_list = {"aifm", "corel", "fig", "png", "pbm", "dxf", "mf", "svg", ... ! "hpgl", "ps", "ps2", "psc", "psc2", "eps", "eps2", ... ! "epsc", "epsc2", "emf", "pstex", "pslatex", ... ! "epslatex", "epslatexstandalone"}; convertname = ""; [idx, errmsg] = cellidx (dev_list, dev); if (! idx) --- 223,233 ---- endif ## check if we have to use convert ! dev_list = {"aifm", "corel", "fig", "png", "jpg", "jpeg", ... ! "gif", "pbm", "dxf", "mf", "svg", "hpgl", ... ! "ps", "ps2", "psc", "psc2", "eps", "eps2", ... ! "epsc", "epsc2", "emf", "pdf", "pslatex", ... ! "epslatex", "epslatexstandalone", "pstex"}; convertname = ""; [idx, errmsg] = cellidx (dev_list, dev); if (! idx) *************** *** 335,341 **** new_terminal = strcat ("emf ", options); ! elseif (strcmp (dev, "png") || strcmp (dev, "pbm")) ## Portable network graphics, PBMplus ## FIXME -- New PNG interface takes color as "xRRGGBB" --- 343,354 ---- new_terminal = strcat ("emf ", options); ! elseif (strcmp (dev, "png") || strcmp (dev, "gif") ! || strcmp (dev, "jpg") || strcmp (dev, "jpeg") ! || strcmp (dev, "pbm")) ! if (strcmp (dev, "jpg")) ! dev = "jpeg"; ! endif ## Portable network graphics, PBMplus ## FIXME -- New PNG interface takes color as "xRRGGBB" *************** *** 356,362 **** else options = strcat (" size ", size); endif ! new_terminal = strcat ("png", options); elseif (strcmp (dev, "dxf") || strcmp (dev, "mf") || strcmp (dev, "hpgl")) ## AutoCad DXF, METAFONT, HPGL --- 369,375 ---- else options = strcat (" size ", size); endif ! new_terminal = strcat (dev, options); elseif (strcmp (dev, "dxf") || strcmp (dev, "mf") || strcmp (dev, "hpgl")) ## AutoCad DXF, METAFONT, HPGL *************** *** 369,374 **** --- 382,409 ---- options = strcat (" size ", size); endif new_terminal = strcat ("svg", options); + + elseif (strcmp (dev, "pdf")) + ## Portable Document format + options = " "; + if (use_color >= 0) + options = "color"; + else + options = "mono"; + endif + if (force_solid > 0) + options = strcat (options, " solid"); + elseif (force_solid < 0) + options = strcat (options, " dashed"); + endif + if (! isempty (font)) + options = strcat (options, "\"", font, "\" "); + endif + if (! isempty (fontsize)) + options = strcat (options, " ", fontsize); + endif + + new_terminal = strcat ("pdf ", options); endif diff -cNr octave-3.0.0/scripts/plot/view.m octave-3.0.1/scripts/plot/view.m *** octave-3.0.0/scripts/plot/view.m Fri Oct 12 02:41:10 2007 --- octave-3.0.1/scripts/plot/view.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 28,34 **** function [azimuth, elevation] = view (x, y, z) if (nargin < 4) ! if (nargin == 1) if (x == 2) az = 0; el = 90; --- 28,38 ---- function [azimuth, elevation] = view (x, y, z) if (nargin < 4) ! if (nargin == 0) ! tmp = get (gca (), "view"); ! az = tmp(1); ! el = tmp(2); ! elseif (nargin == 1) if (x == 2) az = 0; el = 90; diff -cNr octave-3.0.0/scripts/plot/xlabel.m octave-3.0.1/scripts/plot/xlabel.m *** octave-3.0.0/scripts/plot/xlabel.m Mon Dec 10 01:52:51 2007 --- octave-3.0.1/scripts/plot/xlabel.m Mon Apr 21 12:00:20 2008 *************** *** 1,5 **** ## Copyright (C) 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2002, 2003, ! ## 2004, 2005, 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,5 ---- ## Copyright (C) 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2002, 2003, ! ## 2004, 2005, 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 49,55 **** end_unwind_protect if (nargout > 0) ! retval = h; endif endfunction --- 49,55 ---- end_unwind_protect if (nargout > 0) ! retval = tmp; endif endfunction diff -cNr octave-3.0.0/scripts/plot/ylabel.m octave-3.0.1/scripts/plot/ylabel.m *** octave-3.0.0/scripts/plot/ylabel.m Mon Dec 10 01:52:51 2007 --- octave-3.0.1/scripts/plot/ylabel.m Mon Apr 21 12:00:20 2008 *************** *** 1,5 **** ## Copyright (C) 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2002, 2003, ! ## 2005, 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,5 ---- ## Copyright (C) 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2002, 2003, ! ## 2005, 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 44,50 **** end_unwind_protect if (nargout > 0) ! retval = h; endif endfunction --- 44,50 ---- end_unwind_protect if (nargout > 0) ! retval = tmp; endif endfunction diff -cNr octave-3.0.0/scripts/plot/zlabel.m octave-3.0.1/scripts/plot/zlabel.m *** octave-3.0.0/scripts/plot/zlabel.m Mon Dec 10 01:52:51 2007 --- octave-3.0.1/scripts/plot/zlabel.m Mon Apr 21 12:00:20 2008 *************** *** 1,5 **** ## Copyright (C) 1995, 1996, 1997, 1999, 2000, 2002, 2003, 2005, 2006, ! ## 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,5 ---- ## Copyright (C) 1995, 1996, 1997, 1999, 2000, 2002, 2003, 2005, 2006, ! ## 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 44,50 **** end_unwind_protect if (nargout > 0) ! retval = h; endif endfunction --- 44,50 ---- end_unwind_protect if (nargout > 0) ! retval = tmp; endif endfunction diff -cNr octave-3.0.0/scripts/polynomial/mpoles.m octave-3.0.1/scripts/polynomial/mpoles.m *** octave-3.0.0/scripts/polynomial/mpoles.m Fri Nov 9 14:34:17 2007 --- octave-3.0.1/scripts/polynomial/mpoles.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2007 Ben Abbott ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2007, 2008 Ben Abbott ## ## This file is part of Octave. ## *************** *** 100,105 **** --- 100,109 ---- p0 = abs (p(n)); endif k = find (dp < tol * p0); + ## Poles can only be members of one multiplicity group. + if (numel (indx)) + k = k(! ismember (k, indx)); + endif m = 1:numel (k); multp(k) = m; indx = [indx; k]; diff -cNr octave-3.0.0/scripts/polynomial/residue.m octave-3.0.1/scripts/polynomial/residue.m *** octave-3.0.0/scripts/polynomial/residue.m Mon Nov 26 15:31:25 2007 --- octave-3.0.1/scripts/polynomial/residue.m Mon Apr 21 12:00:20 2008 *************** *** 1,5 **** ## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2004, 2005 ! ## 2006, 2007 John W. Eaton ## Copyright (C) 2007 Ben Abbott ## ## This file is part of Octave. --- 1,5 ---- ## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2004, 2005 ! ## 2006, 2007, 2008 John W. Eaton ## Copyright (C) 2007 Ben Abbott ## ## This file is part of Octave. *************** *** 82,88 **** ## @deftypefnx {Function File} {[@var{b}, @var{a}] =} residue (@var{r}, @var{p}, @var{k}) ## @deftypefnx {Function File} {[@var{b}, @var{a}] =} residue (@var{r}, @var{p}, @var{k}, @var{e}) ## Compute the reconstituted quotient of polynomials, ! ## @var{b}(s)/@var{a}(s), from the partial fraction expansion ## represented by the residues, poles, and a direct polynomial specified ## by @var{r}, @var{p} and @var{k}, and the pole multiplicity @var{e}. ## --- 82,88 ---- ## @deftypefnx {Function File} {[@var{b}, @var{a}] =} residue (@var{r}, @var{p}, @var{k}) ## @deftypefnx {Function File} {[@var{b}, @var{a}] =} residue (@var{r}, @var{p}, @var{k}, @var{e}) ## Compute the reconstituted quotient of polynomials, ! ## @var{b}(s)/@var{a}(s), from the partial fraction expansion; ## represented by the residues, poles, and a direct polynomial specified ## by @var{r}, @var{p} and @var{k}, and the pole multiplicity @var{e}. ## *************** *** 191,214 **** p = roots (a); lp = length (p); - ## Determine if the poles are (effectively) zero. - - small = max (abs (p)); - small = max ([small, 1] ) * 1e-8 * (1 + numel (p))^2; - p(abs (p) < small) = 0; - - ## Determine if the poles are (effectively) real, or imaginary. - - index = (abs (imag (p)) < small); - p(index) = real (p(index)); - index = (abs (real (p)) < small); - p(index) = 1i * imag (p(index)); - ## Sort poles so that multiplicity loop will work. [e, indx] = mpoles (p, toler, 1); p = p (indx); ## Find the direct term if there is one. if (lb >= la) --- 191,211 ---- p = roots (a); lp = length (p); ## Sort poles so that multiplicity loop will work. [e, indx] = mpoles (p, toler, 1); p = p (indx); + ## For each group of pole multiplicity, set the value of each + ## pole to the average of the group. This reduces the error in + ## the resulting poles. + + p_group = cumsum (e == 1); + for ng = 1:p_group(end) + m = find (p_group == ng); + p(m) = mean (p(m)); + endfor + ## Find the direct term if there is one. if (lb >= la) *************** *** 219,224 **** --- 216,237 ---- k = []; endif + ## Determine if the poles are (effectively) zero. + + small = max (abs (p)); + small = max ([small, 1]) * eps*1e4 * (1 + numel (p))^2; + p(abs (p) < small) = 0; + + ## Determine if the poles are (effectively) real, or imaginary. + + index = (abs (imag (p)) < small); + p(index) = real (p(index)); + index = (abs (real (p)) < small); + p(index) = 1i * imag (p(index)); + + ## The remainder determines the residues. The case of one pole + ## is trivial. + if (lp == 1) r = polyval (b, p); return; *************** *** 336,343 **** %! b = [1, 1, 1]; %! a = [1, -5, 8, -4]; %! [r, p, k, e] = residue (b, a); ! %! assert (abs (r - [-2; 7; 3]) < 1e-5 ! %! && abs (p - [2; 2; 1]) < 1e-7 %! && isempty (k) %! && e == [1; 2; 1]); %! k = [1 0]; --- 349,356 ---- %! b = [1, 1, 1]; %! a = [1, -5, 8, -4]; %! [r, p, k, e] = residue (b, a); ! %! assert (abs (r - [-2; 7; 3]) < 1e-12 ! %! && abs (p - [2; 2; 1]) < 1e-12 %! && isempty (k) %! && e == [1; 2; 1]); %! k = [1 0]; *************** *** 353,362 **** %!test %! b = [1, 0, 1]; %! a = [1, 0, 18, 0, 81]; ! %! [r, p, k, e] = residue(b, a); %! r1 = [-5i; 12; +5i; 12]/54; %! p1 = [+3i; +3i; -3i; -3i]; ! %! assert (abs (r - r1) < 1e-7 && abs (p - p1) < 1e-7 %! && isempty (k) %! && e == [1; 2; 1; 2]); %! [br, ar] = residue (r, p, k); --- 366,375 ---- %!test %! b = [1, 0, 1]; %! a = [1, 0, 18, 0, 81]; ! %! [r, p, k, e] = residue (b, a); %! r1 = [-5i; 12; +5i; 12]/54; %! p1 = [+3i; +3i; -3i; -3i]; ! %! assert (abs (r - r1) < 1e-12 && abs (p - p1) < 1e-12 %! && isempty (k) %! && e == [1; 2; 1; 2]); %! [br, ar] = residue (r, p, k); *************** *** 373,390 **** %! && abs (a - [1, -5, 8, -4]) < 1e-12)); %! [rr, pr, kr, er] = residue (b, a); %! [jnk, n] = mpoles(p); ! %! assert ((abs (rr - r(n)) < 1e-5 ! %! && abs (pr - p(n)) < 1e-7 %! && abs (kr - k) < 1e-12 %! && abs (er - e(n)) < 1e-12)); %!test %! b = [1]; %! a = [1, 10, 25]; ! %! [r, p, k, e] = residue(b, a); %! r1 = [0; 1]; %! p1 = [-5; -5]; ! %! assert (abs (r - r1) < 1e-7 && abs (p - p1) < 1e-7 %! && isempty (k) %! && e == [1; 2]); %! [br, ar] = residue (r, p, k); --- 386,403 ---- %! && abs (a - [1, -5, 8, -4]) < 1e-12)); %! [rr, pr, kr, er] = residue (b, a); %! [jnk, n] = mpoles(p); ! %! assert ((abs (rr - r(n)) < 1e-12 ! %! && abs (pr - p(n)) < 1e-12 %! && abs (kr - k) < 1e-12 %! && abs (er - e(n)) < 1e-12)); %!test %! b = [1]; %! a = [1, 10, 25]; ! %! [r, p, k, e] = residue (b, a); %! r1 = [0; 1]; %! p1 = [-5; -5]; ! %! assert (abs (r - r1) < 1e-12 && abs (p - p1) < 1e-12 %! && isempty (k) %! && e == [1; 2]); %! [br, ar] = residue (r, p, k); diff -cNr octave-3.0.0/scripts/polynomial/roots.m octave-3.0.1/scripts/polynomial/roots.m *** octave-3.0.0/scripts/polynomial/roots.m Fri Oct 12 17:27:25 2007 --- octave-3.0.1/scripts/polynomial/roots.m Mon Apr 21 12:00:20 2008 *************** *** 1,5 **** ## Copyright (C) 1994, 1995, 1996, 1997, 1999, 2000, 2004, 2005, 2006, ! ## 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,5 ---- ## Copyright (C) 1994, 1995, 1996, 1997, 1999, 2000, 2004, 2005, 2006, ! ## 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 83,98 **** if (nargin != 1 || min (size (v)) > 1) print_usage (); endif ! n = length (v); ! v = reshape (v, 1, n); ## If v = [ 0 ... 0 v(k+1) ... v(k+l) 0 ... 0 ], we can remove the ## leading k zeros and n - k - l roots of the polynomial are zero. ! f = find (v); ! m = max (size (f)); if (m > 0 && n > 1) v = v(f(1):f(m)); --- 83,104 ---- if (nargin != 1 || min (size (v)) > 1) print_usage (); + elseif (any (isnan(v) | isinf(v))) + error ("roots: inputs must not contain Inf or NaN") endif ! n = numel (v); ! v = v(:); ## If v = [ 0 ... 0 v(k+1) ... v(k+l) 0 ... 0 ], we can remove the ## leading k zeros and n - k - l roots of the polynomial are zero. ! if (isempty (v)) ! f = v; ! else ! f = find (v ./ max (abs (v))); ! endif ! m = numel (f); if (m > 0 && n > 1) v = v(f(1):f(m)); diff -cNr octave-3.0.0/scripts/set/ismember.m octave-3.0.1/scripts/set/ismember.m *** octave-3.0.0/scripts/set/ismember.m Thu Nov 8 10:20:11 2007 --- octave-3.0.1/scripts/set/ismember.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2000, 2005, 2006, 2007 Paul Kienzle ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2000, 2005, 2006, 2007, 2008 Paul Kienzle ## ## This file is part of Octave. ## *************** *** 119,125 **** ## Do the actual work. if (isempty (a) || isempty (s)) tf = zeros (size (a), "logical"); ! a_idx = []; elseif (numel (s) == 1) tf = (a == s); a_idx = double (tf); --- 119,125 ---- ## Do the actual work. if (isempty (a) || isempty (s)) tf = zeros (size (a), "logical"); ! a_idx = zeros (size (a)); elseif (numel (s) == 1) tf = (a == s); a_idx = double (tf); *************** *** 165,176 **** [v, p] = sort ([s(2:lt)(:); a(:)]); idx(p) = cumsum (p <= lt-1) + 1; idx = idx(lt:end); ! tf = (a == reshape (s (idx), size (a))); ! a_idx = zeros (size(tf)); a_idx(tf) = sidx(idx(tf)); endif ## Resize result to the original size of 'a' ! size_a = size(a); tf = reshape (tf, size_a); a_idx = reshape (a_idx, size_a); endif --- 165,176 ---- [v, p] = sort ([s(2:lt)(:); a(:)]); idx(p) = cumsum (p <= lt-1) + 1; idx = idx(lt:end); ! tf = (a == reshape (s(idx), size (a))); ! a_idx = zeros (size (tf)); a_idx(tf) = sidx(idx(tf)); endif ## Resize result to the original size of 'a' ! size_a = size (a); tf = reshape (tf, size_a); a_idx = reshape (a_idx, size_a); endif *************** *** 200,206 **** ## Do the actual work if (isempty (a) || isempty (s)) tf = zeros (size (a), "logical"); ! a_idx = []; elseif (numel (s) == 1) tf = strcmp (a, s); a_idx = double (tf); --- 200,206 ---- ## Do the actual work if (isempty (a) || isempty (s)) tf = zeros (size (a), "logical"); ! a_idx = zeros (size (a)); elseif (numel (s) == 1) tf = strcmp (a, s); a_idx = double (tf); *************** *** 257,262 **** --- 257,292 ---- %!assert (ismember ("1", "0123456789."), true); %!test + %! [result, a_idx] = ismember ([1, 2], []); + %! assert (result, logical ([0, 0])) + %! assert (a_idx, [0, 0]); + + %!test + %! [result, a_idx] = ismember ([], [1, 2]); + %! assert (result, logical ([])) + %! assert (a_idx, []); + + %!test + %! [result, a_idx] = ismember ({'a', 'b'}, ''); + %! assert (result, logical ([0, 0])) + %! assert (a_idx, [0, 0]); + + %!test + %! [result, a_idx] = ismember ({'a', 'b'}, {}); + %! assert (result, logical ([0, 0])) + %! assert (a_idx, [0, 0]); + + %!test + %! [result, a_idx] = ismember ('', {'a', 'b'}); + %! assert (result, false) + %! assert (a_idx, 0); + + %!test + %! [result, a_idx] = ismember ({}, {'a', 'b'}); + %! assert (result, logical ([])) + %! assert (a_idx, []); + + %!test %! [result, a_idx] = ismember([1 2 3 4 5], [3]); %! assert (all (result == logical ([0 0 1 0 0])) && all (a_idx == [0 0 1 0 0])); diff -cNr octave-3.0.0/scripts/signal/sinetone.m octave-3.0.1/scripts/signal/sinetone.m *** octave-3.0.0/scripts/signal/sinetone.m Fri Oct 12 17:27:25 2007 --- octave-3.0.1/scripts/signal/sinetone.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 1998, 2000, 2002, 2005, 2006, 2007 ## Friedrich Leisch ## ## This file is part of Octave. --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 1998, 2000, 2002, 2005, 2006, 2007, 2008 ## Friedrich Leisch ## ## This file is part of Octave. *************** *** 54,64 **** endif n = length (f); - retval = zeros (r * s, n); for k = 1:n ! retval (:, k) = a(k) * sin (2 * pi * (1:r*s) / r * f(k))'; endfor endfunction --- 54,67 ---- endif n = length (f); + ns = round (r * s); + + retval = zeros (ns, n); for k = 1:n ! retval (:, k) = a(k) * sin (2 * pi * (1:ns) / r * f(k))'; endfor endfunction + %!assert (size (sinetone (18e6, 150e6, 19550/150e6, 1)), [19550, 1]); diff -cNr octave-3.0.0/scripts/statistics/base/mode.m octave-3.0.1/scripts/statistics/base/mode.m *** octave-3.0.0/scripts/statistics/base/mode.m Tue Dec 11 12:03:32 2007 --- octave-3.0.1/scripts/statistics/base/mode.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2007 David Bateman ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2007, 2008 David Bateman ## ## This file is part of Octave. ## *************** *** 60,85 **** sz3 = ones (1, nd); sz3 (dim) = sz (dim); if (dim != 1) ! perm = [1 : nd]; ! perm(1) = dim; ! perm(dim) = 1; endif xs = sort (x, dim); t = cat (dim, true (sz2), diff (xs, 1, dim) != 0); - if (issparse (x)) - t2 = sparse (sz(1), sz(2)); - else - t2 = zeros (size (t)); - endif if (dim != 1) ! t2 (permute (t != 0, perm)) = diff ([find(permute (t, perm)); prod(sz)+1]); f = max (ipermute (t2, perm), [], dim); xs = permute (xs, perm); else ! t2 (t) = diff ([find(t); prod(sz)+1]); f = max (t2, [], dim); endif --- 60,85 ---- sz3 = ones (1, nd); sz3 (dim) = sz (dim); + if (issparse (x)) + t2 = sparse (sz(1), sz(2)); + else + t2 = zeros (sz); + endif + if (dim != 1) ! perm = [dim, 1:dim-1, dim+1:nd]; ! t2 = permute (t2, perm); endif xs = sort (x, dim); t = cat (dim, true (sz2), diff (xs, 1, dim) != 0); if (dim != 1) ! t2 (permute (t != 0, perm)) = diff ([find(permute (t, perm))(:); prod(sz)+1]); f = max (ipermute (t2, perm), [], dim); xs = permute (xs, perm); else ! t2 (t) = diff ([find(t)(:); prod(sz)+1]); f = max (t2, [], dim); endif *************** *** 112,114 **** --- 112,151 ---- %! assert (m, sparse (m2)); %! assert (f, sparse (f2)); %! assert (c, cellfun (@(x) sparse (0), c2, 'UniformOutput', false)); + + %!assert(mode([2,3,1,2,3,4],1),[2,3,1,2,3,4]) + %!assert(mode([2,3,1,2,3,4],2),2) + %!assert(mode([2,3,1,2,3,4]),2) + + %!assert(mode([2;3;1;2;3;4],1),2) + %!assert(mode([2;3;1;2;3;4],2),[2;3;1;2;3;4]) + %!assert(mode([2;3;1;2;3;4]),2) + + %!shared x + %! x(:,:,1) = toeplitz (1:3); + %! x(:,:,2) = circshift (toeplitz (1:3), 1); + %! x(:,:,3) = circshift (toeplitz (1:3), 2); + %!test + %! [m, f, c] = mode (x, 1); + %! assert (reshape (m, [3, 3]), [1 1 1; 2 2 2; 1 1 1]) + %! assert (reshape (f, [3, 3]), [1 1 1; 2 2 2; 1 1 1]) + %! c = reshape (c, [3, 3]); + %! assert (c{1}, [1; 2; 3]) + %! assert (c{2}, 2) + %! assert (c{3}, [1; 2; 3]) + %!test + %! [m, f, c] = mode (x, 2); + %! assert (reshape (m, [3, 3]), [1 1 2; 2 1 1; 1 2 1]) + %! assert (reshape (f, [3, 3]), [1 1 2; 2 1 1; 1 2 1]) + %! c = reshape (c, [3, 3]); + %! assert (c{1}, [1; 2; 3]) + %! assert (c{2}, 2) + %! assert (c{3}, [1; 2; 3]) + %!test + %! [m, f, c] = mode (x, 3); + %! assert (reshape (m, [3, 3]), [1 2 1; 1 2 1; 1 2 1]) + %! assert (reshape (f, [3, 3]), [1 2 1; 1 2 1; 1 2 1]) + %! c = reshape (c, [3, 3]); + %! assert (c{1}, [1; 2; 3]) + %! assert (c{2}, [1; 2; 3]) + %! assert (c{3}, [1; 2; 3]) diff -cNr octave-3.0.0/scripts/statistics/distributions/expcdf.m octave-3.0.1/scripts/statistics/distributions/expcdf.m *** octave-3.0.0/scripts/statistics/distributions/expcdf.m Fri Oct 12 17:27:27 2007 --- octave-3.0.1/scripts/statistics/distributions/expcdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2006, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2006, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 20,26 **** ## @deftypefn {Function File} {} expcdf (@var{x}, @var{lambda}) ## For each element of @var{x}, compute the cumulative distribution ## function (CDF) at @var{x} of the exponential distribution with ! ## parameter @var{lambda}. ## ## The arguments can be of common size or scalar. ## @end deftypefn --- 20,26 ---- ## @deftypefn {Function File} {} expcdf (@var{x}, @var{lambda}) ## For each element of @var{x}, compute the cumulative distribution ## function (CDF) at @var{x} of the exponential distribution with ! ## mean @var{lambda}. ## ## The arguments can be of common size or scalar. ## @end deftypefn diff -cNr octave-3.0.0/scripts/statistics/distributions/expinv.m octave-3.0.1/scripts/statistics/distributions/expinv.m *** octave-3.0.0/scripts/statistics/distributions/expinv.m Fri Oct 12 17:27:27 2007 --- octave-3.0.1/scripts/statistics/distributions/expinv.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2006, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2006, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 19,25 **** ## -*- texinfo -*- ## @deftypefn {Function File} {} expinv (@var{x}, @var{lambda}) ## For each element of @var{x}, compute the quantile (the inverse of the ! ## CDF) at @var{x} of the exponential distribution with parameter ## @var{lambda}. ## @end deftypefn --- 19,25 ---- ## -*- texinfo -*- ## @deftypefn {Function File} {} expinv (@var{x}, @var{lambda}) ## For each element of @var{x}, compute the quantile (the inverse of the ! ## CDF) at @var{x} of the exponential distribution with mean ## @var{lambda}. ## @end deftypefn diff -cNr octave-3.0.0/scripts/statistics/distributions/exppdf.m octave-3.0.1/scripts/statistics/distributions/exppdf.m *** octave-3.0.0/scripts/statistics/distributions/exppdf.m Fri Oct 12 17:27:27 2007 --- octave-3.0.1/scripts/statistics/distributions/exppdf.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2006, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2006, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 19,25 **** ## -*- texinfo -*- ## @deftypefn {Function File} {} exppdf (@var{x}, @var{lambda}) ## For each element of @var{x}, compute the probability density function ! ## (PDF) of the exponential distribution with parameter @var{lambda}. ## @end deftypefn ## Author: KH --- 19,25 ---- ## -*- texinfo -*- ## @deftypefn {Function File} {} exppdf (@var{x}, @var{lambda}) ## For each element of @var{x}, compute the probability density function ! ## (PDF) of the exponential distribution with mean @var{lambda}. ## @end deftypefn ## Author: KH diff -cNr octave-3.0.0/scripts/statistics/distributions/exprnd.m octave-3.0.1/scripts/statistics/distributions/exprnd.m *** octave-3.0.0/scripts/statistics/distributions/exprnd.m Fri Oct 12 17:27:27 2007 --- octave-3.0.1/scripts/statistics/distributions/exprnd.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1995, 1996, 1997, 2005, 2006, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1995, 1996, 1997, 2005, 2006, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 20,26 **** ## @deftypefn {Function File} {} exprnd (@var{lambda}, @var{r}, @var{c}) ## @deftypefnx {Function File} {} exprnd (@var{lambda}, @var{sz}) ## Return an @var{r} by @var{c} matrix of random samples from the ! ## exponential distribution with parameter @var{lambda}, which must be a ## scalar or of size @var{r} by @var{c}. Or if @var{sz} is a vector, ## create a matrix of size @var{sz}. ## --- 20,26 ---- ## @deftypefn {Function File} {} exprnd (@var{lambda}, @var{r}, @var{c}) ## @deftypefnx {Function File} {} exprnd (@var{lambda}, @var{sz}) ## Return an @var{r} by @var{c} matrix of random samples from the ! ## exponential distribution with mean @var{lambda}, which must be a ## scalar or of size @var{r} by @var{c}. Or if @var{sz} is a vector, ## create a matrix of size @var{sz}. ## diff -cNr octave-3.0.0/scripts/statistics/tests/kruskal_wallis_test.m octave-3.0.1/scripts/statistics/tests/kruskal_wallis_test.m *** octave-3.0.0/scripts/statistics/tests/kruskal_wallis_test.m Fri Oct 12 17:27:28 2007 --- octave-3.0.1/scripts/statistics/tests/kruskal_wallis_test.m Mon Apr 21 12:00:20 2008 *************** *** 1,5 **** ## Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2005, 2006, ! ## 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,5 ---- ## Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2005, 2006, ! ## 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 29,34 **** --- 29,46 ---- ## approximately chi-square with @var{df} = @var{k} - 1 degrees of ## freedom. ## + ## If the data contains ties (some value appears more than once) + ## @var{k} is divided by + ## + ## 1 - @var{sumTies} / ( @var{n}^3 - @var{n} ) + ## + ## where @var{sumTies} is the sum of @var{t}^2 - @var{t} over each group + ## of ties where @var{t} is the number of ties in the group and @var{n} + ## is the total number of values in the input data. For more info on + ## this adjustment see "Use of Ranks in One-Criterion Variance Analysis" + ## in Journal of the American Statistical Association, Vol. 47, + ## No. 260 (Dec 1952) by William H. Kruskal and W. Allen Wallis. + ## ## The p-value (1 minus the CDF of this distribution at @var{k}) is ## returned in @var{pval}. ## *************** *** 67,75 **** j = j + n(i); endfor ! n = length (p); ! k = 12 * k / (n * (n + 1)) - 3 * (n + 1); ! df = m - 1; pval = 1 - chisquare_cdf (k, df); if (nargout == 0) --- 79,92 ---- j = j + n(i); endfor ! n = length (p); ! k = 12 * k / (n * (n + 1)) - 3 * (n + 1); ! ! ## Adjust the result to takes ties into account. ! sum_ties = sum (polyval ([1, 0, -1, 0], runlength (sort (p)))); ! k = k / (1 - sum_ties / (n^3 - n)); ! ! df = m - 1; pval = 1 - chisquare_cdf (k, df); if (nargout == 0) *************** *** 78,81 **** endfunction ! --- 95,99 ---- endfunction ! ## Test with ties ! %!assert (abs(kruskal_wallis_test([86 86], [74]) - 0.157299207050285) < 0.0000000000001) diff -cNr octave-3.0.0/scripts/strings/deblank.m octave-3.0.1/scripts/strings/deblank.m *** octave-3.0.0/scripts/strings/deblank.m Fri Oct 12 17:27:28 2007 --- octave-3.0.1/scripts/strings/deblank.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1996, 1998, 1999, 2000, 2002, 2004, 2005, 2006, 2007 ## Kurt Hornik ## ## This file is part of Octave. --- 1,4 ---- ! ## Copyright (C) 1996, 1998, 1999, 2000, 2002, 2004, 2005, 2006, 2007, 2008 ## Kurt Hornik ## ## This file is part of Octave. *************** *** 34,46 **** print_usage (); endif ! if (ischar (s)) ! k = find (! isspace (s) & s != "\0"); ! if (isempty (s) || isempty (k)) ! s = ""; ! else ! s = s(:,1:ceil (max (k) / rows (s))); endif elseif (iscell(s)) --- 34,56 ---- print_usage (); endif ! char_arg = ischar (s); ! if (char_arg || isnumeric (s)) ! ! if (! isempty (s)) ! if (char_arg) ! k = find (! isspace (s) & s != "\0"); ! else ! warning ("deblank: expecting character string argument") ! k = find (s != 0); ! endif ! ! if (isempty (k)) ! s = resize (s, 0, 0); ! else ! s = s(:,1:ceil (max (k) / rows (s))); ! endif endif elseif (iscell(s)) *************** *** 48,54 **** s = cellfun (@deblank, s, "UniformOutput", false); else ! error ("deblank: expecting string argument"); endif endfunction --- 58,64 ---- s = cellfun (@deblank, s, "UniformOutput", false); else ! error ("deblank: expecting character string argument"); endif endfunction diff -cNr octave-3.0.0/scripts/strings/strcat.m octave-3.0.1/scripts/strings/strcat.m *** octave-3.0.0/scripts/strings/strcat.m Fri Oct 12 17:27:29 2007 --- octave-3.0.1/scripts/strings/strcat.m Mon Apr 21 12:00:20 2008 *************** *** 1,5 **** ## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003, ! ## 2005, 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,5 ---- ## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003, ! ## 2005, 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 35,54 **** function st = strcat (varargin) ! if (nargin < 1) print_usage (); - elseif (! iscellstr (varargin)) - error ("strcat: all arguments must be strings"); endif ! unwind_protect ! tmp = warning ("query", "Octave:empty-list-elements"); ! warning ("off", "Octave:empty-list-elements"); ! st = [varargin{:}]; ! unwind_protect_cleanup ! warning (tmp.state, "Octave:empty-list-elements"); ! end_unwind_protect endfunction ## test the dimensionality --- 35,70 ---- function st = strcat (varargin) ! if (nargin > 0) ! ! if (iscellstr (varargin)) ! ## All arguments are character strings. ! unwind_protect ! tmp = warning ("query", "Octave:empty-list-elements"); ! warning ("off", "Octave:empty-list-elements"); ! st = [varargin{:}]; ! unwind_protect_cleanup ! warning (tmp.state, "Octave:empty-list-elements"); ! end_unwind_protect ! else ! for i = 1:nargin ! tmp = varargin{i}; ! if (! (iscellstr (tmp) || ischar (tmp))) ! error ("strcat: all arguments must be strings or cell arrays of strings"); ! endif ! endfor ! st = strcat_cell (varargin); ! endif ! else print_usage (); endif ! endfunction + function st = strcat_cell (varargin) + ## All args must be same size or scalars. + ## See the xtest below for expected behavior. + error ("strcat: concatenating cell arrays of strings not implemented"); endfunction ## test the dimensionality *************** *** 56,58 **** --- 72,77 ---- %!assert(strcat("ab ", "ab "), "ab ab ") ## 2d %!assert(strcat(["ab ";"cde"], ["ab ";"cde"]), ["ab ab ";"cdecde"]) + + %!xtest + %! assert(all (strcmp (strcat ("a", {"bc", "de"}, "f"), {"abcf", "adef"}))) diff -cNr octave-3.0.0/scripts/strings/strtrim.m octave-3.0.1/scripts/strings/strtrim.m *** octave-3.0.0/scripts/strings/strtrim.m Fri Oct 12 17:27:29 2007 --- octave-3.0.1/scripts/strings/strtrim.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 1996, 2007 Kurt Hornik ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 1996, 2007, 2008 Kurt Hornik ## ## This file is part of Octave. ## *************** *** 16,26 **** ## along with Octave; see the file COPYING. If not, see ## . ! ## -*- texinfo -*- @deftypefn {Function File} {} deblank (@var{s}) ## Remove leading and trailing blanks and nulls from @var{s}. If ## @var{s} is a matrix, @var{deblank} trims each row to the length of ## longest string. If @var{s} is a cell array, operate recursively on ! ## each element of the cell array. @end deftypefn ## Author: John Swensen --- 16,28 ---- ## along with Octave; see the file COPYING. If not, see ## . ! ## -*- texinfo -*- ! ## @deftypefn {Function File} {} deblank (@var{s}) ## Remove leading and trailing blanks and nulls from @var{s}. If ## @var{s} is a matrix, @var{deblank} trims each row to the length of ## longest string. If @var{s} is a cell array, operate recursively on ! ## each element of the cell array. ! ## @end deftypefn ## Author: John Swensen diff -cNr octave-3.0.0/scripts/testfun/assert.m octave-3.0.1/scripts/testfun/assert.m *** octave-3.0.0/scripts/testfun/assert.m Fri Nov 9 14:34:18 2007 --- octave-3.0.1/scripts/testfun/assert.m Mon Apr 21 12:00:20 2008 *************** *** 1,4 **** ! ## Copyright (C) 2000, 2006, 2007 Paul Kienzle ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2000, 2006, 2007, 2008 Paul Kienzle ## ## This file is part of Octave. ## *************** *** 77,95 **** error ("assert %s failed", in); # say which elements failed? endif - elseif (is_list (cond)) - if (! is_list (expected) || length (cond) != length (expected)) - iserror = 1; - else - try - for i = 1:length (cond) - assert (nth (cond, i), nth (expected, i)); - endfor - catch - iserror = 1; - end_try_catch - endif - elseif (ischar (expected)) iserror = (! ischar (cond) || ! strcmp (cond, expected)); --- 77,82 ---- diff -cNr octave-3.0.0/src/ChangeLog octave-3.0.1/src/ChangeLog *** octave-3.0.0/src/ChangeLog Fri Dec 21 12:46:03 2007 --- octave-3.0.1/src/ChangeLog Mon Apr 21 12:02:14 2008 *************** *** 1,3 **** --- 1,209 ---- + 2008-04-21 John W. Eaton + + Version 3.0.1 released. + + * version.h (OCTAVE_VERSION): Now 3.0.1. + (OCTAVE_RELEASE_DATE): Now 2008-04-21. + (OCTAVE_COPYRIGHT): Update year. + + 2008-04-20 John W. Eaton + + * oct-stream.cc (octave_stream::read): Allow single data type + specification but return double. + + 2008-04-18 John W. Eaton + + * pr-output.cc (Fdisp): If nargout > 0, produce an sq-string + unless arg is a dq-string. + + 2008-04-14 Jaroslav Hajek + + * oct-stream.cc (octave_scan_1): Ensure digit following X is hex + digit before reading number as hex. + + 2008-04-14 John W. Eaton + + * file-io.cc (Ffread): Allow SKIP arg to be omitted. + (Ffwrite): Likewise. Handle args in a way consistent with Ffread. + + 2008-04-09 Michael Goffioul + + * DLD-FUNCTIONS/dispatch.cc: Replace system("echo '...'>...") calls + with real file writing. + + 2008-04-04 John W. Eaton + + * parse.y (make_constant): Handle escape sequences in dq-strings. + + 2008-04-03 John W. Eaton + + * parse.y (make_constant): Also stash original text for strings. + + * ov-fcn-handle.cc (octave_fcn_handle::subsref): + Don't call next_subsref here. + + 2008-04-03 Jaroslav Hajek + + * DLD-FUNCTIONS/sort.cc (xabs, ascending_compare, operator <, + descending_compare, operator >): Move definitions ahead of + #include "oct-sort.cc". + + 2008-04-02 John W. Eaton + + * graphics.cc, graphics.h.in (class axes): + New properties, tickdir and tickdirmode. + + 2008-03-27 John W. Eaton + + * DLD-FUNCTIONS/max.cc: Rename from minmax.cc. + * Makefile.in (DLD_XSRC): Rename minmax.cc to max.cc. + + 2008-03-08 Primozz Peterlin + + * variables.cc (Fexist): Doc fix. + + 2008-03-23 David Bateman + + * OPERATORS/op-int.h: Add el_div and el_ldiv operators to the + binops that were missing them. Added elem_pow functions for mixed + integer floating point cases. Initialize the mixed integer + floating point cases. + + 2008-03-18 David Bateman + + * DLD-FUNCTIONS/minmax.cc: 64-bit indexing fix. + + 2008-03-11 John W. Eaton + + * graphics.cc, graphics.h.in (class axes): New property, linewidth. + + * DLD-FUNCTIONS/eig.cc (Feig): Handle possible error from EIG. + * DLD-FUNCTIONS/qp.cc (qp, Fqp): Likewise. + * xpow.cc (xpow): Likewise. + + 2008-03-10 John W. Eaton + + * mex.cc (mxCreateLogicalScalar): Argument is now mxLogical. + + * mxarray.h.in (mxLogical): Use unsigned char instead of int. + From Antwerpen, G. (Gert) van . + + 2008-03-06 David Bateman + + * DLD-FUNCTIONS/matrix_type.cc (Fmatrix_type): Document that + the initial interpretation of a positive definite return from + matrix_type is that the matrix is "probably" positive definite and + not certainly so. + + 2008-03-06 John W. Eaton + + * graphics.cc (line::properties::properties, + line::properties::factory:defaults, patch::properties::properties, + patch::properties::factory:defaults, + surface::properties::properties, + surface::properties::factory:defaults): + Set markersize to 6 by default. + + 2008-03-06 Alexander Barth + + * DLD-FUNCTIONS/__lin_interpn__.cc (lookup): + Handle decreasing coordinate values. + + 2008-02-27 John W. Eaton + + * oct-stream.cc (do_read): Stop reading if seek fails. + + 2008-02-26 John W. Eaton + + * DLD-FUNCTIONS/rand.cc (do_rand): Pass name of calling function + to octave_rand::state. + + 2008-02-21 John W. Eaton + + * DLD-FUNCTIONS/fsolve.cc (fsolve_user_jacobian): + Check dimensions of user-supplied Jacobian matrix. + (fsolve_user_function): Check for non-square systems. + + 2008-02-12 David Bateman + + * pt-loop.cc (tree_simple_for_command::eval): Compute range + element with multiplication. + + 2008-02-08 John W. Eaton + + * ov-struct.cc (octave_struct::subsref): Allow Cell::index to resize. + + 2008-02-07 David Bateman + + * ov-range.h (octave_range::sort): New functions. + + 2008-01-30 Thomas Weber + + * variables.cc (Fclear): Doc fix. + + 2008-01-30 Thomas Weber + + * pager.cc (Fmore): Doc fix. + + 2008-01-28 John W. Eaton + + * oct-stream.cc (BEGIN_CHAR_CLASS_CONVERSION): Handle width properly. + (OCTAVE_SCAN) [__GNUG__ && ! CXX_ISO_COMPLIANT_LIBRARY]: + Delete special case. + + 2008-01-28 David Bateman + + * ov-mapper.cc (SPARSE_MAPPER_LOOP_2): Use data method instead of + elem in the case where F(0) is non-zero. + + * DLD-FUNCTIONS/sort.cc (ascending_compare, descending_compare): + Always instantiate the specialized double versions of these + functions so that the NaN values are correctly sorted in the + Sparse sort. + + 2008-01-24 Pascal Dupuis + + * mxarray.h.in: Include . + + 2008-01-14 John W. Eaton + + * load-path.cc (load_path::do_initialize): Start with sys_path empty. + (maybe_add_path_elts): Omit path_sep_str if path is empty. + + 2008-01-10 John W. Eaton + + * DLD-FUNCTIONS/fsolve.cc (Ffsolve): Doc fix. + (hybrd_info_to_fsolve_info): Swap return values for -1 and -2 inputs. + + * mex.cc (calc_single_subscript_internal): New static function. + (mxArray_octave_value::calc_single_subscript): Use it. + (mxArray_matlab::calc_single_subscript): Use it. + + 2008-01-07 John W. Eaton + + * src/pt-except.cc (tree_try_catch_command::eval): + Set Vdebug_on_error and Vdebug_on_warning to false while executing + try block. + + * error.cc (Vdebug_on_error, Vdebug_on_warning): No longer static. + * error.h: Provide decls. + + 2008-01-04 John Swensen + + * debug.cc (bp_table::do_remove_all_breakpoints_in_file): + Avoid calling erase on invalid bp_map iterators. + (bp_table::do_remove_breakpoint): Only try to delete breakpoints + if some exist. Avoid calling erase on invalid bp_map iterators. + (parse_dbfunction_params): Return early if ARGS is empty. + New arg, WHO. Change all uses. + Accept but do nothing with struct args. + 2007-12-21 John W. Eaton Version 3.0.0 released. diff -cNr octave-3.0.0/src/DLD-FUNCTIONS/__lin_interpn__.cc octave-3.0.1/src/DLD-FUNCTIONS/__lin_interpn__.cc *** octave-3.0.0/src/DLD-FUNCTIONS/__lin_interpn__.cc Fri Oct 12 02:41:23 2007 --- octave-3.0.1/src/DLD-FUNCTIONS/__lin_interpn__.cc Mon Apr 21 12:00:20 2008 *************** *** 1,6 **** /* ! Copyright (C) 2007 Alexander Barth This file is part of Octave. --- 1,6 ---- /* ! Copyright (C) 2007, 2008 Alexander Barth This file is part of Octave. *************** *** 43,80 **** octave_idx_type lookup (const double *x, octave_idx_type n, double y) { ! octave_idx_type j, j0, j1; ! if (y > x[n-1] || y < x[0]) ! return -1; #ifdef EXHAUSTIF ! for (j = 0; j < n - 1; j++) ! { ! if (x[j] <= y && y <= x[j+1]) ! return j; ! } #else ! j0 = 0; ! j1 = n - 1; ! while (true) { ! j = (j0+j1)/2; ! if (y <= x[j+1]) { ! if (x[j] <= y) return j; - - j1 = j; } ! if (x[j] <= y) ! j0 = j; ! } #endif } // n-dimensional linear interpolation --- 43,119 ---- octave_idx_type lookup (const double *x, octave_idx_type n, double y) { ! octave_idx_type j; ! if (x[0] < x[n-1]) ! { ! // increasing x ! ! if (y > x[n-1] || y < x[0]) ! return -1; #ifdef EXHAUSTIF ! for (j = 0; j < n - 1; j++) ! { ! if (x[j] <= y && y <= x[j+1]) ! return j; ! } #else ! octave_idx_type j0 = 0; ! octave_idx_type j1 = n - 1; ! while (true) ! { ! j = (j0+j1)/2; ! ! if (y <= x[j+1]) ! { ! if (x[j] <= y) ! return j; ! ! j1 = j; ! } ! ! if (x[j] <= y) ! j0 = j; ! } ! #endif ! } ! else { ! // decreasing x ! // previous code with x -> -x and y -> -y ! if (y > x[0] || y < x[n-1]) ! return -1; ! ! #ifdef EXHAUSTIF ! for (j = 0; j < n - 1; j++) { ! if (x[j+1] <= y && y <= x[j]) return j; } + #else + octave_idx_type j0 = 0; + octave_idx_type j1 = n - 1; ! while (true) ! { ! j = (j0+j1)/2; ! ! if (y >= x[j+1]) ! { ! if (x[j] >= y) ! return j; + j1 = j; + } + + if (x[j] >= y) + j0 = j; + } #endif + } } // n-dimensional linear interpolation diff -cNr octave-3.0.0/src/DLD-FUNCTIONS/__qp__.cc octave-3.0.1/src/DLD-FUNCTIONS/__qp__.cc *** octave-3.0.0/src/DLD-FUNCTIONS/__qp__.cc Wed Oct 17 11:38:54 2007 --- octave-3.0.1/src/DLD-FUNCTIONS/__qp__.cc Mon Apr 21 12:00:20 2008 *************** *** 1,6 **** /* ! Copyright (C) 2000, 2001, 2004, 2005, 2006, 2007 Gabriele Pannocchia This file is part of Octave. --- 1,6 ---- /* ! Copyright (C) 2000, 2001, 2004, 2005, 2006, 2007, 2008 Gabriele Pannocchia This file is part of Octave. *************** *** 137,142 **** --- 137,149 ---- // Computing the ??? EIG eigH (H); + + if (error_state) + { + error ("qp: failed to compute eigenvalues of H"); + return -1; + } + ColumnVector eigenvalH = real (eigH.eigenvalues ()); Matrix eigenvecH = real (eigH.eigenvectors ()); double minReal = eigenvalH.min (); *************** *** 272,277 **** --- 279,291 ---- // Searching for the most negative curvature. EIG eigrH (rH); + + if (error_state) + { + error ("qp: failed to compute eigenvalues of rH"); + return -1; + } + ColumnVector eigenvalrH = real (eigrH.eigenvalues ()); Matrix eigenvecrH = real (eigrH.eigenvectors ()); double mRrH = eigenvalrH.min (); *************** *** 494,503 **** int info = qp (H, q, Aeq, beq, Ain, bin, maxit, x, lambda, iter); ! retval(3) = iter; ! retval(2) = info; ! retval(1) = lambda; ! retval(0) = x; } else error ("__qp__: invalid arguments"); --- 508,522 ---- int info = qp (H, q, Aeq, beq, Ain, bin, maxit, x, lambda, iter); ! if (! error_state) ! { ! retval(3) = iter; ! retval(2) = info; ! retval(1) = lambda; ! retval(0) = x; ! } ! else ! error ("qp: internal error"); } else error ("__qp__: invalid arguments"); diff -cNr octave-3.0.0/src/DLD-FUNCTIONS/dispatch.cc octave-3.0.1/src/DLD-FUNCTIONS/dispatch.cc *** octave-3.0.0/src/DLD-FUNCTIONS/dispatch.cc Fri Oct 12 17:27:35 2007 --- octave-3.0.1/src/DLD-FUNCTIONS/dispatch.cc Mon Apr 21 12:00:20 2008 *************** *** 1,6 **** /* ! Copyright (C) 2001, 2005, 2006, 2007 John W. Eaton and Paul Kienzle This file is part of Octave. --- 1,6 ---- /* ! Copyright (C) 2001, 2005, 2006, 2007, 2008 John W. Eaton and Paul Kienzle This file is part of Octave. *************** *** 532,544 **** FIXME I would rather not create dispatch_x/dispatch_y in the current directory! I don't want them installed accidentally. %!test # replace base m-file ! %! system("echo 'function a=dispatch_x(a)'>dispatch_x.m"); %! dispatch('dispatch_x','length','string') %! assert(dispatch_x(3),3) %! assert(dispatch_x("a"),1) %! sleep (2); ! %! system("echo 'function a=dispatch_x(a),++a;'>dispatch_x.m"); %! rehash(); %! assert(dispatch_x(3),4) %! assert(dispatch_x("a"),1) --- 532,552 ---- FIXME I would rather not create dispatch_x/dispatch_y in the current directory! I don't want them installed accidentally. + %!function echo_to_file (str, name) + %! fid = fopen (name, 'w'); + %! if (fid != -1) + %! fprintf (fid, str); + %! fprintf (fid, '\n'); + %! fclose (fid); + %! endif + %!test # replace base m-file ! %! echo_to_file ('function a=dispatch_x(a)', "dispatch_x.m"); %! dispatch('dispatch_x','length','string') %! assert(dispatch_x(3),3) %! assert(dispatch_x("a"),1) %! sleep (2); ! %! echo_to_file ('function a=dispatch_x(a),++a;', "dispatch_x.m"); %! rehash(); %! assert(dispatch_x(3),4) %! assert(dispatch_x("a"),1) *************** *** 546,556 **** %! unlink("dispatch_x.m"); %!test # replace dispatch m-file ! %! system("echo 'function a=dispatch_y(a)'>dispatch_y.m"); %! dispatch('hello','dispatch_y','complex scalar') %! assert(hello(3i),3i) %! sleep (2); ! %! system("echo 'function a=dispatch_y(a),++a;'>dispatch_y.m"); %! rehash(); %! assert(hello(3i),1+3i) %!test --- 554,564 ---- %! unlink("dispatch_x.m"); %!test # replace dispatch m-file ! %! echo_to_file ('function a=dispatch_y(a)', "dispatch_y.m"); %! dispatch('hello','dispatch_y','complex scalar') %! assert(hello(3i),3i) %! sleep (2); ! %! echo_to_file ('function a=dispatch_y(a),++a;', "dispatch_y.m"); %! rehash(); %! assert(hello(3i),1+3i) %!test diff -cNr octave-3.0.0/src/DLD-FUNCTIONS/eig.cc octave-3.0.1/src/DLD-FUNCTIONS/eig.cc *** octave-3.0.0/src/DLD-FUNCTIONS/eig.cc Fri Oct 12 17:27:35 2007 --- octave-3.0.1/src/DLD-FUNCTIONS/eig.cc Mon Apr 21 12:00:20 2008 *************** *** 1,6 **** /* ! Copyright (C) 1996, 1997, 1999, 2000, 2003, 2004, 2005, 2006, 2007 John W. Eaton This file is part of Octave. --- 1,6 ---- /* ! Copyright (C) 1996, 1997, 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 101,118 **** return retval; } ! if (nargout == 0 || nargout == 1) { ! retval(0) = result.eigenvalues (); ! } ! else ! { ! // Blame it on Matlab. ! ComplexDiagMatrix d (result.eigenvalues ()); ! retval(1) = d; ! retval(0) = result.eigenvectors (); } return retval; --- 101,121 ---- return retval; } ! if (! error_state) { ! if (nargout == 0 || nargout == 1) ! { ! retval(0) = result.eigenvalues (); ! } ! else ! { ! // Blame it on Matlab. ! ComplexDiagMatrix d (result.eigenvalues ()); ! retval(1) = d; ! retval(0) = result.eigenvectors (); ! } } return retval; diff -cNr octave-3.0.0/src/DLD-FUNCTIONS/fsolve.cc octave-3.0.1/src/DLD-FUNCTIONS/fsolve.cc *** octave-3.0.0/src/DLD-FUNCTIONS/fsolve.cc Mon Dec 10 16:01:49 2007 --- octave-3.0.1/src/DLD-FUNCTIONS/fsolve.cc Mon Apr 21 12:00:20 2008 *************** *** 1,7 **** /* Copyright (C) 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2005, 2006, ! 2007 John W. Eaton This file is part of Octave. --- 1,7 ---- /* Copyright (C) 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2005, 2006, ! 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 65,75 **** switch (info) { case -1: - info = -2; break; case 0: ! info = -1; break; case 1: --- 65,74 ---- switch (info) { case -1: break; case 0: ! info = -2; break; case 1: *************** *** 140,145 **** --- 139,146 ---- if (error_state || retval.length () <= 0) gripe_user_supplied_eval ("fsolve"); + else if (retval.length () != x.length ()) + error ("fsolve: unable to solve non-square systems"); } else gripe_user_supplied_eval ("fsolve"); *************** *** 189,194 **** --- 190,198 ---- if (error_state || retval.length () <= 0) gripe_user_supplied_eval ("fsolve"); + else if (! (retval.rows () == x.length () + && retval.columns () == x.length ())) + error ("fsolve: invalid Jacobian matrix dimensions"); } else gripe_user_supplied_eval ("fsolve"); *************** *** 228,233 **** --- 232,255 ---- and an initial starting point @var{x0}, @code{fsolve} solves the set of\n\ equations such that @code{f(@var{x}) == 0}.\n\ \n\ + On return, @var{fval} contains the value of the function @var{fcn}\n\ + evaluated at @var{x}, and @var{info} may be one of the following values:\n\ + \n\ + @table @asis\n\ + \n\ + @item -2\n\ + Invalid input parameters.\n\ + @item -1\n\ + Error in user-supplied function.\n\ + @item 1\n\ + Relative error between two consecutive iterates is at most the\n\ + specified tolerance (see @code{fsolve_options}).\n\ + @item 3\n\ + Algorithm failed to converge.\n\ + @item 4\n\ + Limit on number of function calls reached.\n\ + @end table\n\ + \n\ If @var{fcn} is a two-element string array, or a two element cell array\n\ containing either the function name or inline or function handle. The\n\ first element names the function @math{f} described above, and the second\n\ diff -cNr octave-3.0.0/src/DLD-FUNCTIONS/matrix_type.cc octave-3.0.1/src/DLD-FUNCTIONS/matrix_type.cc *** octave-3.0.0/src/DLD-FUNCTIONS/matrix_type.cc Fri Oct 12 17:27:35 2007 --- octave-3.0.1/src/DLD-FUNCTIONS/matrix_type.cc Mon Apr 21 12:00:20 2008 *************** *** 1,6 **** /* ! Copyright (C) 2005, 2006, 2007 David Bateman This file is part of Octave. --- 1,6 ---- /* ! Copyright (C) 2005, 2006, 2007, 2008 David Bateman This file is part of Octave. *************** *** 59,65 **** Mark the matrix as full.\n\ \n\ @item 'positive definite'\n\ ! Full positive definite matrix.\n\ \n\ @item 'diagonal'\n\ Diagonal Matrix. (Sparse matrices only)\n\ --- 59,65 ---- Mark the matrix as full.\n\ \n\ @item 'positive definite'\n\ ! Probable full positive definite matrix.\n\ \n\ @item 'diagonal'\n\ Diagonal Matrix. (Sparse matrices only)\n\ *************** *** 83,90 **** @itemx 'banded positive definite'\n\ Banded matrix with the band size of @var{nl} below the diagonal and @var{nu} above\n\ it. If @var{nl} and @var{nu} are 1, then the matrix is tridiagonal and treated\n\ ! with specialized code. In addition the matrix can be marked as positive definite\n\ ! (Sparse matrices only)\n\ \n\ @item 'singular'\n\ The matrix is assumed to be singular and will be treated with a minimum norm solution\n\ --- 83,90 ---- @itemx 'banded positive definite'\n\ Banded matrix with the band size of @var{nl} below the diagonal and @var{nu} above\n\ it. If @var{nl} and @var{nu} are 1, then the matrix is tridiagonal and treated\n\ ! with specialized code. In addition the matrix can be marked as probably a\n\ ! positive definite (Sparse matrices only)\n\ \n\ @item 'singular'\n\ The matrix is assumed to be singular and will be treated with a minimum norm solution\n\ *************** *** 97,102 **** --- 97,110 ---- matrix type will result in incorrect results from solutions of linear equations,\n\ and so it is entirely the responsibility of the user to correctly identify the\n\ matrix type.\n\ + \n\ + Also the test for positive definiteness is a low cost test for a hermitian\n\ + matrix with a real positive diagonal. This does not guarentee that the matrix\n\ + is positive definite, but only that it is a probable candidate. When such a\n\ + matrix is factorized, a Cholesky factorization is first attempted, and if\n\ + that fails the matrix is then treated with an LU factorization. Once the\n\ + matrix has been factorized, @code{matrix_type} will return the correct\n\ + classification of the matrix.\n\ @end deftypefn") { int nargin = args.length (); diff -cNr octave-3.0.0/src/DLD-FUNCTIONS/max.cc octave-3.0.1/src/DLD-FUNCTIONS/max.cc *** octave-3.0.0/src/DLD-FUNCTIONS/max.cc Wed Dec 31 19:00:00 1969 --- octave-3.0.1/src/DLD-FUNCTIONS/max.cc Mon Apr 21 12:00:20 2008 *************** *** 0 **** --- 1,549 ---- + /* + + Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, + 2005, 2006, 2007, 2008 John W. Eaton + + 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 + . + + */ + + #ifdef HAVE_CONFIG_H + #include + #endif + + #include "lo-ieee.h" + #include "lo-mappers.h" + #include "lo-math.h" + #include "dNDArray.h" + #include "CNDArray.h" + #include "quit.h" + + #include "defun-dld.h" + #include "error.h" + #include "gripes.h" + #include "oct-obj.h" + + #include "ov-cx-mat.h" + + #define MINMAX_DOUBLE_BODY(FCN) \ + { \ + bool single_arg = (nargin == 1) || (arg2.is_empty() && nargin == 3); \ + \ + if (single_arg && (nargout == 1 || nargout == 0)) \ + { \ + if (arg1.is_real_type ()) \ + { \ + NDArray m = arg1.array_value (); \ + \ + if (! error_state) \ + { \ + NDArray n = m. FCN (dim); \ + retval(0) = n; \ + } \ + } \ + else if (arg1.is_complex_type ()) \ + { \ + ComplexNDArray m = arg1.complex_array_value (); \ + \ + if (! error_state) \ + { \ + ComplexNDArray n = m. FCN (dim); \ + retval(0) = n; \ + } \ + } \ + else \ + gripe_wrong_type_arg (#FCN, arg1); \ + } \ + else if (single_arg && nargout == 2) \ + { \ + ArrayN index; \ + \ + if (arg1.is_real_type ()) \ + { \ + NDArray m = arg1.array_value (); \ + \ + if (! error_state) \ + { \ + NDArray n = m. FCN (index, dim); \ + retval(0) = n; \ + } \ + } \ + else if (arg1.is_complex_type ()) \ + { \ + ComplexNDArray m = arg1.complex_array_value (); \ + \ + if (! error_state) \ + { \ + ComplexNDArray n = m. FCN (index, dim); \ + retval(0) = n; \ + } \ + } \ + else \ + gripe_wrong_type_arg (#FCN, arg1); \ + \ + octave_idx_type len = index.numel (); \ + \ + if (len > 0) \ + { \ + double nan_val = lo_ieee_nan_value (); \ + \ + NDArray idx (index.dims ()); \ + \ + for (octave_idx_type i = 0; i < len; i++) \ + { \ + OCTAVE_QUIT; \ + octave_idx_type tmp = index.elem (i) + 1; \ + idx.elem (i) = (tmp <= 0) \ + ? nan_val : static_cast (tmp); \ + } \ + \ + retval(1) = idx; \ + } \ + else \ + retval(1) = NDArray (); \ + } \ + else \ + { \ + int arg1_is_scalar = arg1.is_scalar_type (); \ + int arg2_is_scalar = arg2.is_scalar_type (); \ + \ + int arg1_is_complex = arg1.is_complex_type (); \ + int arg2_is_complex = arg2.is_complex_type (); \ + \ + if (arg1_is_scalar) \ + { \ + if (arg1_is_complex || arg2_is_complex) \ + { \ + Complex c1 = arg1.complex_value (); \ + ComplexNDArray m2 = arg2.complex_array_value (); \ + if (! error_state) \ + { \ + ComplexNDArray result = FCN (c1, m2); \ + if (! error_state) \ + retval(0) = result; \ + } \ + } \ + else \ + { \ + double d1 = arg1.double_value (); \ + NDArray m2 = arg2.array_value (); \ + \ + if (! error_state) \ + { \ + NDArray result = FCN (d1, m2); \ + if (! error_state) \ + retval(0) = result; \ + } \ + } \ + } \ + else if (arg2_is_scalar) \ + { \ + if (arg1_is_complex || arg2_is_complex) \ + { \ + ComplexNDArray m1 = arg1.complex_array_value (); \ + \ + if (! error_state) \ + { \ + Complex c2 = arg2.complex_value (); \ + ComplexNDArray result = FCN (m1, c2); \ + if (! error_state) \ + retval(0) = result; \ + } \ + } \ + else \ + { \ + NDArray m1 = arg1.array_value (); \ + \ + if (! error_state) \ + { \ + double d2 = arg2.double_value (); \ + NDArray result = FCN (m1, d2); \ + if (! error_state) \ + retval(0) = result; \ + } \ + } \ + } \ + else \ + { \ + if (arg1_is_complex || arg2_is_complex) \ + { \ + ComplexNDArray m1 = arg1.complex_array_value (); \ + \ + if (! error_state) \ + { \ + ComplexNDArray m2 = arg2.complex_array_value (); \ + \ + if (! error_state) \ + { \ + ComplexNDArray result = FCN (m1, m2); \ + if (! error_state) \ + retval(0) = result; \ + } \ + } \ + } \ + else \ + { \ + NDArray m1 = arg1.array_value (); \ + \ + if (! error_state) \ + { \ + NDArray m2 = arg2.array_value (); \ + \ + if (! error_state) \ + { \ + NDArray result = FCN (m1, m2); \ + if (! error_state) \ + retval(0) = result; \ + } \ + } \ + } \ + } \ + } \ + } + + #define MINMAX_INT_BODY(FCN, TYP) \ + { \ + bool single_arg = (nargin == 1) || (arg2.is_empty() && nargin == 3); \ + \ + if (single_arg && (nargout == 1 || nargout == 0)) \ + { \ + TYP ## NDArray m = arg1. TYP ## _array_value (); \ + \ + if (! error_state) \ + { \ + TYP ## NDArray n = m. FCN (dim); \ + retval(0) = n; \ + } \ + } \ + else if (single_arg && nargout == 2) \ + { \ + ArrayN index; \ + \ + TYP ## NDArray m = arg1. TYP ## _array_value (); \ + \ + if (! error_state) \ + { \ + TYP ## NDArray n = m. FCN (index, dim); \ + retval(0) = n; \ + } \ + \ + octave_idx_type len = index.numel (); \ + \ + if (len > 0) \ + { \ + double nan_val = lo_ieee_nan_value (); \ + \ + NDArray idx (index.dims ()); \ + \ + for (octave_idx_type i = 0; i < len; i++) \ + { \ + OCTAVE_QUIT; \ + octave_idx_type tmp = index.elem (i) + 1; \ + idx.elem (i) = (tmp <= 0) \ + ? nan_val : static_cast (tmp); \ + } \ + \ + retval(1) = idx; \ + } \ + else \ + retval(1) = NDArray (); \ + } \ + else \ + { \ + int arg1_is_scalar = arg1.is_scalar_type (); \ + int arg2_is_scalar = arg2.is_scalar_type (); \ + \ + if (arg1_is_scalar) \ + { \ + octave_ ## TYP d1 = arg1. TYP ## _scalar_value (); \ + TYP ## NDArray m2 = arg2. TYP ## _array_value (); \ + \ + if (! error_state) \ + { \ + TYP ## NDArray result = FCN (d1, m2); \ + if (! error_state) \ + retval(0) = result; \ + } \ + } \ + else if (arg2_is_scalar) \ + { \ + TYP ## NDArray m1 = arg1. TYP ## _array_value (); \ + \ + if (! error_state) \ + { \ + octave_ ## TYP d2 = arg2. TYP ## _scalar_value (); \ + TYP ## NDArray result = FCN (m1, d2); \ + if (! error_state) \ + retval(0) = result; \ + } \ + } \ + else \ + { \ + TYP ## NDArray m1 = arg1. TYP ## _array_value (); \ + \ + if (! error_state) \ + { \ + TYP ## NDArray m2 = arg2. TYP ## _array_value (); \ + \ + if (! error_state) \ + { \ + TYP ## NDArray result = FCN (m1, m2); \ + if (! error_state) \ + retval(0) = result; \ + } \ + } \ + } \ + } \ + } + + #define MINMAX_BODY(FCN) \ + \ + octave_value_list retval; \ + \ + int nargin = args.length (); \ + \ + if (nargin < 1 || nargin > 3 || nargout > 2) \ + { \ + print_usage (); \ + return retval; \ + } \ + \ + octave_value arg1; \ + octave_value arg2; \ + octave_value arg3; \ + \ + switch (nargin) \ + { \ + case 3: \ + arg3 = args(2); \ + \ + case 2: \ + arg2 = args(1); \ + \ + case 1: \ + arg1 = args(0); \ + break; \ + \ + default: \ + panic_impossible (); \ + break; \ + } \ + \ + int dim; \ + dim_vector dv = arg1.dims (); \ + if (error_state) \ + { \ + gripe_wrong_type_arg (#FCN, arg1); \ + return retval; \ + } \ + \ + if (nargin == 3) \ + { \ + dim = arg3.nint_value () - 1; \ + if (dim < 0 || dim >= dv.length ()) \ + { \ + error ("%s: invalid dimension", #FCN); \ + return retval; \ + } \ + } \ + else \ + { \ + dim = 0; \ + while ((dim < dv.length ()) && (dv (dim) <= 1)) \ + dim++; \ + if (dim == dv.length ()) \ + dim = 0; \ + } \ + \ + if (arg1.is_integer_type ()) \ + { \ + if (arg1.is_uint8_type ()) \ + MINMAX_INT_BODY (FCN, uint8) \ + else if (arg1.is_uint16_type ()) \ + MINMAX_INT_BODY (FCN, uint16) \ + else if (arg1.is_uint32_type ()) \ + MINMAX_INT_BODY (FCN, uint32) \ + else if (arg1.is_uint64_type ()) \ + MINMAX_INT_BODY (FCN, uint64) \ + else if (arg1.is_int8_type ()) \ + MINMAX_INT_BODY (FCN, int8) \ + else if (arg1.is_int16_type ()) \ + MINMAX_INT_BODY (FCN, int16) \ + else if (arg1.is_int32_type ()) \ + MINMAX_INT_BODY (FCN, int32) \ + else if (arg1.is_int64_type ()) \ + MINMAX_INT_BODY (FCN, int64) \ + } \ + else \ + MINMAX_DOUBLE_BODY (FCN) \ + \ + return retval; + + DEFUN_DLD (min, args, nargout, + "-*- texinfo -*-\n\ + @deftypefn {Mapping Function} {} min (@var{x}, @var{y}, @var{dim})\n\ + @deftypefnx {Mapping Function} {[@var{w}, @var{iw}] =} min (@var{x})\n\ + @cindex Utility Functions\n\ + For a vector argument, return the minimum value. For a matrix\n\ + argument, return the minimum value from each column, as a row\n\ + vector, or over the dimension @var{dim} if defined. For two matrices\n\ + (or a matrix and scalar), return the pair-wise minimum.\n\ + Thus,\n\ + \n\ + @example\n\ + min (min (@var{x}))\n\ + @end example\n\ + \n\ + @noindent\n\ + returns the smallest element of @var{x}, and\n\ + \n\ + @example\n\ + @group\n\ + min (2:5, pi)\n\ + @result{} 2.0000 3.0000 3.1416 3.1416\n\ + @end group\n\ + @end example\n\ + @noindent\n\ + compares each element of the range @code{2:5} with @code{pi}, and\n\ + returns a row vector of the minimum values.\n\ + \n\ + For complex arguments, the magnitude of the elements are used for\n\ + comparison.\n\ + \n\ + If called with one input and two output arguments,\n\ + @code{min} also returns the first index of the\n\ + minimum value(s). Thus,\n\ + \n\ + @example\n\ + @group\n\ + [x, ix] = min ([1, 3, 0, 2, 5])\n\ + @result{} x = 0\n\ + ix = 3\n\ + @end group\n\ + @end example\n\ + @end deftypefn") + { + MINMAX_BODY (min); + } + + /* + + %% test/octave.test/arith/min-1.m + %!assert (min ([1, 4, 2, 3]) == 1); + %!assert (min ([1; -10; 5; -2]) == -10); + + %% test/octave.test/arith/min-2.m + %!assert(all (min ([4, i; -2, 2]) == [-2, i])); + + %% test/octave.test/arith/min-3.m + %!error min (); + + %% test/octave.test/arith/min-4.m + %!error min (1, 2, 3, 4); + + %!test + %! x = reshape (1:8,[2,2,2]); + %! assert (max (x,[],1), reshape ([2, 4, 6, 8], [1,2,2])); + %! assert (max (x,[],2), reshape ([3, 4, 7, 8], [2,1,2])); + %! [y, i ] = max (x, [], 3); + %! assert (y, [5, 7; 6, 8]); + %! assert (ndims(y), 2); + %! assert (i, [2, 2; 2, 2]); + %! assert (ndims(i), 2); + + */ + + DEFUN_DLD (max, args, nargout, + "-*- texinfo -*-\n\ + @deftypefn {Mapping Function} {} max (@var{x}, @var{y}, @var{dim})\n\ + @deftypefnx {Mapping Function} {[@var{w}, @var{iw}] =} max (@var{x})\n\ + @cindex Utility Functions\n\ + For a vector argument, return the maximum value. For a matrix\n\ + argument, return the maximum value from each column, as a row\n\ + vector, or over the dimension @var{dim} if defined. For two matrices\n\ + (or a matrix and scalar), return the pair-wise maximum.\n\ + Thus,\n\ + \n\ + @example\n\ + max (max (@var{x}))\n\ + @end example\n\ + \n\ + @noindent\n\ + returns the largest element of @var{x}, and\n\ + \n\ + @example\n\ + @group\n\ + max (2:5, pi)\n\ + @result{} 3.1416 3.1416 4.0000 5.0000\n\ + @end group\n\ + @end example\n\ + @noindent\n\ + compares each element of the range @code{2:5} with @code{pi}, and\n\ + returns a row vector of the maximum values.\n\ + \n\ + For complex arguments, the magnitude of the elements are used for\n\ + comparison.\n\ + \n\ + If called with one input and two output arguments,\n\ + @code{max} also returns the first index of the\n\ + maximum value(s). Thus,\n\ + \n\ + @example\n\ + @group\n\ + [x, ix] = max ([1, 3, 5, 2, 5])\n\ + @result{} x = 5\n\ + ix = 3\n\ + @end group\n\ + @end example\n\ + @end deftypefn") + { + MINMAX_BODY (max); + } + + /* + + %% test/octave.test/arith/max-1.m + %!assert (max ([1, 4, 2, 3]) == 4); + %!assert (max ([1; -10; 5; -2]) == 5); + + %% test/octave.test/arith/max-2.m + %!assert(all (max ([4, i 4.999; -2, 2, 3+4i]) == [4, 2, 3+4i])); + + %% test/octave.test/arith/max-3.m + %!error max (); + + %% test/octave.test/arith/max-4.m + %!error max (1, 2, 3, 4); + + %!test + %! x = reshape (1:8,[2,2,2]); + %! assert (min (x,[],1), reshape ([1, 3, 5, 7], [1,2,2])); + %! assert (min (x,[],2), reshape ([1, 2, 5, 6], [2,1,2])); + %! [y, i ] = min (x, [], 3); + %! assert (y, [1, 3; 2, 4]); + %! assert (ndims(y), 2); + %! assert (i, [1, 1; 1, 1]); + %! assert (ndims(i), 2); + + + */ + + /* + ;;; Local Variables: *** + ;;; mode: C++ *** + ;;; End: *** + */ diff -cNr octave-3.0.0/src/DLD-FUNCTIONS/minmax.cc octave-3.0.1/src/DLD-FUNCTIONS/minmax.cc *** octave-3.0.0/src/DLD-FUNCTIONS/minmax.cc Fri Nov 30 13:53:30 2007 --- octave-3.0.1/src/DLD-FUNCTIONS/minmax.cc Wed Dec 31 19:00:00 1969 *************** *** 1,494 **** - /* - - Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 John W. Eaton - - 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 - . - - */ - - #ifdef HAVE_CONFIG_H - #include - #endif - - #include "lo-ieee.h" - #include "lo-mappers.h" - #include "lo-math.h" - #include "dNDArray.h" - #include "CNDArray.h" - #include "quit.h" - - #include "defun-dld.h" - #include "error.h" - #include "gripes.h" - #include "oct-obj.h" - - #include "ov-cx-mat.h" - - #define MINMAX_DOUBLE_BODY(FCN) \ - { \ - bool single_arg = (nargin == 1) || (arg2.is_empty() && nargin == 3); \ - \ - if (single_arg && (nargout == 1 || nargout == 0)) \ - { \ - if (arg1.is_real_type ()) \ - { \ - NDArray m = arg1.array_value (); \ - \ - if (! error_state) \ - { \ - NDArray n = m. FCN (dim); \ - retval(0) = n; \ - } \ - } \ - else if (arg1.is_complex_type ()) \ - { \ - ComplexNDArray m = arg1.complex_array_value (); \ - \ - if (! error_state) \ - { \ - ComplexNDArray n = m. FCN (dim); \ - retval(0) = n; \ - } \ - } \ - else \ - gripe_wrong_type_arg (#FCN, arg1); \ - } \ - else if (single_arg && nargout == 2) \ - { \ - ArrayN index; \ - \ - if (arg1.is_real_type ()) \ - { \ - NDArray m = arg1.array_value (); \ - \ - if (! error_state) \ - { \ - NDArray n = m. FCN (index, dim); \ - retval(0) = n; \ - } \ - } \ - else if (arg1.is_complex_type ()) \ - { \ - ComplexNDArray m = arg1.complex_array_value (); \ - \ - if (! error_state) \ - { \ - ComplexNDArray n = m. FCN (index, dim); \ - retval(0) = n; \ - } \ - } \ - else \ - gripe_wrong_type_arg (#FCN, arg1); \ - \ - octave_idx_type len = index.numel (); \ - \ - if (len > 0) \ - { \ - double nan_val = lo_ieee_nan_value (); \ - \ - NDArray idx (index.dims ()); \ - \ - for (octave_idx_type i = 0; i < len; i++) \ - { \ - OCTAVE_QUIT; \ - int tmp = index.elem (i) + 1; \ - idx.elem (i) = (tmp <= 0) \ - ? nan_val : static_cast (tmp); \ - } \ - \ - retval(1) = idx; \ - } \ - else \ - retval(1) = NDArray (); \ - } \ - else \ - { \ - int arg1_is_scalar = arg1.is_scalar_type (); \ - int arg2_is_scalar = arg2.is_scalar_type (); \ - \ - int arg1_is_complex = arg1.is_complex_type (); \ - int arg2_is_complex = arg2.is_complex_type (); \ - \ - if (arg1_is_scalar) \ - { \ - if (arg1_is_complex || arg2_is_complex) \ - { \ - Complex c1 = arg1.complex_value (); \ - ComplexNDArray m2 = arg2.complex_array_value (); \ - if (! error_state) \ - { \ - ComplexNDArray result = FCN (c1, m2); \ - if (! error_state) \ - retval(0) = result; \ - } \ - } \ - else \ - { \ - double d1 = arg1.double_value (); \ - NDArray m2 = arg2.array_value (); \ - \ - if (! error_state) \ - { \ - NDArray result = FCN (d1, m2); \ - if (! error_state) \ - retval(0) = result; \ - } \ - } \ - } \ - else if (arg2_is_scalar) \ - { \ - if (arg1_is_complex || arg2_is_complex) \ - { \ - ComplexNDArray m1 = arg1.complex_array_value (); \ - \ - if (! error_state) \ - { \ - Complex c2 = arg2.complex_value (); \ - ComplexNDArray result = FCN (m1, c2); \ - if (! error_state) \ - retval(0) = result; \ - } \ - } \ - else \ - { \ - NDArray m1 = arg1.array_value (); \ - \ - if (! error_state) \ - { \ - double d2 = arg2.double_value (); \ - NDArray result = FCN (m1, d2); \ - if (! error_state) \ - retval(0) = result; \ - } \ - } \ - } \ - else \ - { \ - if (arg1_is_complex || arg2_is_complex) \ - { \ - ComplexNDArray m1 = arg1.complex_array_value (); \ - \ - if (! error_state) \ - { \ - ComplexNDArray m2 = arg2.complex_array_value (); \ - \ - if (! error_state) \ - { \ - ComplexNDArray result = FCN (m1, m2); \ - if (! error_state) \ - retval(0) = result; \ - } \ - } \ - } \ - else \ - { \ - NDArray m1 = arg1.array_value (); \ - \ - if (! error_state) \ - { \ - NDArray m2 = arg2.array_value (); \ - \ - if (! error_state) \ - { \ - NDArray result = FCN (m1, m2); \ - if (! error_state) \ - retval(0) = result; \ - } \ - } \ - } \ - } \ - } \ - } - - #define MINMAX_INT_BODY(FCN, TYP) \ - { \ - bool single_arg = (nargin == 1) || (arg2.is_empty() && nargin == 3); \ - \ - if (single_arg && (nargout == 1 || nargout == 0)) \ - { \ - TYP ## NDArray m = arg1. TYP ## _array_value (); \ - \ - if (! error_state) \ - { \ - TYP ## NDArray n = m. FCN (dim); \ - retval(0) = n; \ - } \ - } \ - else if (single_arg && nargout == 2) \ - { \ - ArrayN index; \ - \ - TYP ## NDArray m = arg1. TYP ## _array_value (); \ - \ - if (! error_state) \ - { \ - TYP ## NDArray n = m. FCN (index, dim); \ - retval(0) = n; \ - } \ - \ - octave_idx_type len = index.numel (); \ - \ - if (len > 0) \ - { \ - double nan_val = lo_ieee_nan_value (); \ - \ - NDArray idx (index.dims ()); \ - \ - for (octave_idx_type i = 0; i < len; i++) \ - { \ - OCTAVE_QUIT; \ - int tmp = index.elem (i) + 1; \ - idx.elem (i) = (tmp <= 0) \ - ? nan_val : static_cast (tmp); \ - } \ - \ - retval(1) = idx; \ - } \ - else \ - retval(1) = NDArray (); \ - } \ - else \ - { \ - int arg1_is_scalar = arg1.is_scalar_type (); \ - int arg2_is_scalar = arg2.is_scalar_type (); \ - \ - if (arg1_is_scalar) \ - { \ - octave_ ## TYP d1 = arg1. TYP ## _scalar_value (); \ - TYP ## NDArray m2 = arg2. TYP ## _array_value (); \ - \ - if (! error_state) \ - { \ - TYP ## NDArray result = FCN (d1, m2); \ - if (! error_state) \ - retval(0) = result; \ - } \ - } \ - else if (arg2_is_scalar) \ - { \ - TYP ## NDArray m1 = arg1. TYP ## _array_value (); \ - \ - if (! error_state) \ - { \ - octave_ ## TYP d2 = arg2. TYP ## _scalar_value (); \ - TYP ## NDArray result = FCN (m1, d2); \ - if (! error_state) \ - retval(0) = result; \ - } \ - } \ - else \ - { \ - TYP ## NDArray m1 = arg1. TYP ## _array_value (); \ - \ - if (! error_state) \ - { \ - TYP ## NDArray m2 = arg2. TYP ## _array_value (); \ - \ - if (! error_state) \ - { \ - TYP ## NDArray result = FCN (m1, m2); \ - if (! error_state) \ - retval(0) = result; \ - } \ - } \ - } \ - } \ - } - - #define MINMAX_BODY(FCN) \ - \ - octave_value_list retval; \ - \ - int nargin = args.length (); \ - \ - if (nargin < 1 || nargin > 3 || nargout > 2) \ - { \ - print_usage (); \ - return retval; \ - } \ - \ - octave_value arg1; \ - octave_value arg2; \ - octave_value arg3; \ - \ - switch (nargin) \ - { \ - case 3: \ - arg3 = args(2); \ - \ - case 2: \ - arg2 = args(1); \ - \ - case 1: \ - arg1 = args(0); \ - break; \ - \ - default: \ - panic_impossible (); \ - break; \ - } \ - \ - int dim; \ - dim_vector dv = arg1.dims (); \ - if (error_state) \ - { \ - gripe_wrong_type_arg (#FCN, arg1); \ - return retval; \ - } \ - \ - if (nargin == 3) \ - { \ - dim = arg3.nint_value () - 1; \ - if (dim < 0 || dim >= dv.length ()) \ - { \ - error ("%s: invalid dimension", #FCN); \ - return retval; \ - } \ - } \ - else \ - { \ - dim = 0; \ - while ((dim < dv.length ()) && (dv (dim) <= 1)) \ - dim++; \ - if (dim == dv.length ()) \ - dim = 0; \ - } \ - \ - if (arg1.is_integer_type ()) \ - { \ - if (arg1.is_uint8_type ()) \ - MINMAX_INT_BODY (FCN, uint8) \ - else if (arg1.is_uint16_type ()) \ - MINMAX_INT_BODY (FCN, uint16) \ - else if (arg1.is_uint32_type ()) \ - MINMAX_INT_BODY (FCN, uint32) \ - else if (arg1.is_uint64_type ()) \ - MINMAX_INT_BODY (FCN, uint64) \ - else if (arg1.is_int8_type ()) \ - MINMAX_INT_BODY (FCN, int8) \ - else if (arg1.is_int16_type ()) \ - MINMAX_INT_BODY (FCN, int16) \ - else if (arg1.is_int32_type ()) \ - MINMAX_INT_BODY (FCN, int32) \ - else if (arg1.is_int64_type ()) \ - MINMAX_INT_BODY (FCN, int64) \ - } \ - else \ - MINMAX_DOUBLE_BODY (FCN) \ - \ - return retval; - - DEFUN_DLD (min, args, nargout, - "-*- texinfo -*-\n\ - @deftypefn {Mapping Function} {} min (@var{x}, @var{y}, @var{dim})\n\ - @deftypefnx {Mapping Function} {[@var{w}, @var{iw}] =} min (@var{x})\n\ - @cindex Utility Functions\n\ - For a vector argument, return the minimum value. For a matrix\n\ - argument, return the minimum value from each column, as a row\n\ - vector, or over the dimension @var{dim} if defined. For two matrices\n\ - (or a matrix and scalar), return the pair-wise minimum.\n\ - Thus,\n\ - \n\ - @example\n\ - min (min (@var{x}))\n\ - @end example\n\ - \n\ - @noindent\n\ - returns the smallest element of @var{x}, and\n\ - \n\ - @example\n\ - @group\n\ - min (2:5, pi)\n\ - @result{} 2.0000 3.0000 3.1416 3.1416\n\ - @end group\n\ - @end example\n\ - @noindent\n\ - compares each element of the range @code{2:5} with @code{pi}, and\n\ - returns a row vector of the minimum values.\n\ - \n\ - For complex arguments, the magnitude of the elements are used for\n\ - comparison.\n\ - \n\ - If called with one input and two output arguments,\n\ - @code{min} also returns the first index of the\n\ - minimum value(s). Thus,\n\ - \n\ - @example\n\ - @group\n\ - [x, ix] = min ([1, 3, 0, 2, 5])\n\ - @result{} x = 0\n\ - ix = 3\n\ - @end group\n\ - @end example\n\ - @end deftypefn") - { - MINMAX_BODY (min); - } - - DEFUN_DLD (max, args, nargout, - "-*- texinfo -*-\n\ - @deftypefn {Mapping Function} {} max (@var{x}, @var{y}, @var{dim})\n\ - @deftypefnx {Mapping Function} {[@var{w}, @var{iw}] =} max (@var{x})\n\ - @cindex Utility Functions\n\ - For a vector argument, return the maximum value. For a matrix\n\ - argument, return the maximum value from each column, as a row\n\ - vector, or over the dimension @var{dim} if defined. For two matrices\n\ - (or a matrix and scalar), return the pair-wise maximum.\n\ - Thus,\n\ - \n\ - @example\n\ - max (max (@var{x}))\n\ - @end example\n\ - \n\ - @noindent\n\ - returns the largest element of @var{x}, and\n\ - \n\ - @example\n\ - @group\n\ - max (2:5, pi)\n\ - @result{} 3.1416 3.1416 4.0000 5.0000\n\ - @end group\n\ - @end example\n\ - @noindent\n\ - compares each element of the range @code{2:5} with @code{pi}, and\n\ - returns a row vector of the maximum values.\n\ - \n\ - For complex arguments, the magnitude of the elements are used for\n\ - comparison.\n\ - \n\ - If called with one input and two output arguments,\n\ - @code{max} also returns the first index of the\n\ - maximum value(s). Thus,\n\ - \n\ - @example\n\ - @group\n\ - [x, ix] = max ([1, 3, 5, 2, 5])\n\ - @result{} x = 5\n\ - ix = 3\n\ - @end group\n\ - @end example\n\ - @end deftypefn") - { - MINMAX_BODY (max); - } - - /* - ;;; Local Variables: *** - ;;; mode: C++ *** - ;;; End: *** - */ --- 0 ---- diff -cNr octave-3.0.0/src/DLD-FUNCTIONS/rand.cc octave-3.0.1/src/DLD-FUNCTIONS/rand.cc *** octave-3.0.0/src/DLD-FUNCTIONS/rand.cc Tue Nov 13 13:02:52 2007 --- octave-3.0.1/src/DLD-FUNCTIONS/rand.cc Mon Apr 21 12:00:20 2008 *************** *** 1,7 **** /* Copyright (C) 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2005, 2006, ! 2007 John W. Eaton This file is part of Octave. --- 1,7 ---- /* Copyright (C) 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2005, 2006, ! 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 113,119 **** } else if (s_arg == "state" || s_arg == "twister") { ! retval = octave_rand::state (); } else if (s_arg == "uniform") { --- 113,119 ---- } else if (s_arg == "state" || s_arg == "twister") { ! retval = octave_rand::state (fcn); } else if (s_arg == "uniform") { *************** *** 250,256 **** ColumnVector (args(idx+1).vector_value(false, true)); if (! error_state) ! octave_rand::state (s); } else error ("%s: unrecognized string argument", fcn); --- 250,256 ---- ColumnVector (args(idx+1).vector_value(false, true)); if (! error_state) ! octave_rand::state (s, fcn); } else error ("%s: unrecognized string argument", fcn); diff -cNr octave-3.0.0/src/DLD-FUNCTIONS/sort.cc octave-3.0.1/src/DLD-FUNCTIONS/sort.cc *** octave-3.0.0/src/DLD-FUNCTIONS/sort.cc Fri Nov 30 15:45:42 2007 --- octave-3.0.1/src/DLD-FUNCTIONS/sort.cc Mon Apr 21 12:00:20 2008 *************** *** 1,6 **** /* ! Copyright (C) 2004, 2005, 2006, 2007 David Bateman and John W. Eaton Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2003 John W. Eaton This file is part of Octave. --- 1,6 ---- /* ! Copyright (C) 2004, 2005, 2006, 2007, 2008 David Bateman and John W. Eaton Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2003 John W. Eaton This file is part of Octave. *************** *** 38,44 **** #include "data-conv.h" #include "ov-cx-mat.h" #include "ov-cell.h" - #include "oct-sort.cc" enum sortmode { UNDEFINED, ASCENDING, DESCENDING }; --- 38,43 ---- *************** *** 79,84 **** --- 78,124 ---- return (a->vec > b->vec); } + // std::abs(Inf) returns NaN!! + static inline double + xabs (const Complex& x) + { + return (xisinf (x.real ()) || xisinf (x.imag ())) ? octave_Inf : abs (x); + } + + template <> + bool + ascending_compare (Complex a, Complex b) + { + return (xisnan (b) || (xabs (a) < xabs (b)) + || ((xabs (a) == xabs (b)) && (arg (a) < arg (b)))); + } + + bool + operator < (const Complex& a, const Complex& b) + { + return (xisnan (b) || (xabs (a) < xabs (b)) + || ((xabs (a) == xabs (b)) && (arg (a) < arg (b)))); + } + + template <> + bool + descending_compare (Complex a, Complex b) + { + return (xisnan (a) || (xabs (a) > xabs (b)) + || ((xabs (a) == xabs (b)) && (arg (a) > arg (b)))); + } + + bool + operator > (const Complex& a, const Complex& b) + { + return (xisnan (a) || (xabs (a) > xabs (b)) + || ((xabs (a) == xabs (b)) && (arg (a) > arg (b)))); + } + + // This file must be included after the < and > operators are + // defined to avoid errors with the Intel C++ compiler. + #include "oct-sort.cc" + template static octave_value mx_sort (ArrayN &m, int dim, sortmode mode = UNDEFINED) *************** *** 742,775 **** #else - template <> - bool - ascending_compare (double a, double b) - { - return (xisnan (b) || (a < b)); - } - - template <> - bool - ascending_compare (vec_index *a, vec_index *b) - { - return (xisnan (b->vec) || (a->vec < b->vec)); - } - - template <> - bool - descending_compare (double a, double b) - { - return (xisnan (a) || (a > b)); - } - - template <> - bool - descending_compare (vec_index *a, vec_index *b) - { - return (xisnan (a->vec) || (a->vec > b->vec)); - } - template class octave_sort; template class vec_index; template class octave_sort *>; --- 782,787 ---- *************** *** 791,831 **** mx_sort_sparse_indexed (Sparse &m, int dim, sortmode mode); #endif - // std::abs(Inf) returns NaN!! - static inline double - xabs (const Complex& x) - { - return (xisinf (x.real ()) || xisinf (x.imag ())) ? octave_Inf : abs (x); - } - template <> bool ! ascending_compare (Complex a, Complex b) { ! return (xisnan (b) || (xabs (a) < xabs (b)) ! || ((xabs (a) == xabs (b)) && (arg (a) < arg (b)))); } bool ! operator < (const Complex& a, const Complex& b) { ! return (xisnan (b) || (xabs (a) < xabs (b)) ! || ((xabs (a) == xabs (b)) && (arg (a) < arg (b)))); } template <> bool ! descending_compare (Complex a, Complex b) { ! return (xisnan (a) || (xabs (a) > xabs (b)) ! || ((xabs (a) == xabs (b)) && (arg (a) > arg (b)))); } bool ! operator > (const Complex& a, const Complex& b) { ! return (xisnan (a) || (xabs (a) > xabs (b)) ! || ((xabs (a) == xabs (b)) && (arg (a) > arg (b)))); } template <> --- 803,834 ---- mx_sort_sparse_indexed (Sparse &m, int dim, sortmode mode); #endif template <> bool ! ascending_compare (double a, double b) { ! return (xisnan (b) || (a < b)); } + template <> bool ! ascending_compare (vec_index *a, vec_index *b) { ! return (xisnan (b->vec) || (a->vec < b->vec)); } template <> bool ! descending_compare (double a, double b) { ! return (xisnan (a) || (a > b)); } + template <> bool ! descending_compare (vec_index *a, vec_index *b) { ! return (xisnan (a->vec) || (a->vec > b->vec)); } template <> diff -cNr octave-3.0.0/src/DOCSTRINGS octave-3.0.1/src/DOCSTRINGS *** octave-3.0.0/src/DOCSTRINGS Thu Dec 20 16:12:22 2007 --- octave-3.0.1/src/DOCSTRINGS Mon Apr 21 12:56:24 2008 *************** *** 2406,2416 **** power -*- texinfo -*- @deftypefn {Built-in Function} {} power (@var{x}, @var{y}) ! This function is equivalent to @code{x .\ y}. @end deftypefn ldivide -*- texinfo -*- @deftypefn {Built-in Function} {} ldivide (@var{x}, @var{y}) @end deftypefn and -*- texinfo -*- --- 2406,2417 ---- power -*- texinfo -*- @deftypefn {Built-in Function} {} power (@var{x}, @var{y}) ! This function is equivalent to @code{x .^ y}. @end deftypefn ldivide -*- texinfo -*- @deftypefn {Built-in Function} {} ldivide (@var{x}, @var{y}) + This function is equivalent to @code{x .\ y}. @end deftypefn and -*- texinfo -*- *************** *** 4077,4082 **** --- 4078,4101 ---- and an initial starting point @var{x0}, @code{fsolve} solves the set of equations such that @code{f(@var{x}) == 0}. + On return, @var{fval} contains the value of the function @var{fcn} + evaluated at @var{x}, and @var{info} may be one of the following values: + + @table @asis + + @item -2 + Invalid input parameters. + @item -1 + Error in user-supplied function. + @item 1 + Relative error between two consecutive iterates is at most the + specified tolerance (see @code{fsolve_options}). + @item 3 + Algorithm failed to converge. + @item 4 + Limit on number of function calls reached. + @end table + If @var{fcn} is a two-element string array, or a two element cell array containing either the function name or inline or function handle. The first element names the function @math{f} described above, and the second *************** *** 5818,5824 **** Mark the matrix as full. @item 'positive definite' ! Full positive definite matrix. @item 'diagonal' Diagonal Matrix. (Sparse matrices only) --- 5837,5843 ---- Mark the matrix as full. @item 'positive definite' ! Probable full positive definite matrix. @item 'diagonal' Diagonal Matrix. (Sparse matrices only) *************** *** 5842,5849 **** @itemx 'banded positive definite' Banded matrix with the band size of @var{nl} below the diagonal and @var{nu} above it. If @var{nl} and @var{nu} are 1, then the matrix is tridiagonal and treated ! with specialized code. In addition the matrix can be marked as positive definite ! (Sparse matrices only) @item 'singular' The matrix is assumed to be singular and will be treated with a minimum norm solution --- 5861,5868 ---- @itemx 'banded positive definite' Banded matrix with the band size of @var{nl} below the diagonal and @var{nu} above it. If @var{nl} and @var{nu} are 1, then the matrix is tridiagonal and treated ! with specialized code. In addition the matrix can be marked as probably a ! positive definite (Sparse matrices only) @item 'singular' The matrix is assumed to be singular and will be treated with a minimum norm solution *************** *** 5856,5869 **** matrix type will result in incorrect results from solutions of linear equations, and so it is entirely the responsibility of the user to correctly identify the matrix type. ! @end deftypefn ! md5sum ! -*- texinfo -*- ! @deftypefn {Loadable Function} {} md5sum (@var{file}) ! @deftypefnx {Loadable Function} {} md5sum (@var{str}, @var{opt}) ! Calculates the MD5 sum of the file @var{file}. If the second parameter ! @var{opt} exists and is true, then calculate the MD5 sum of the ! string @var{str}. @end deftypefn min -*- texinfo -*- --- 5875,5888 ---- matrix type will result in incorrect results from solutions of linear equations, and so it is entirely the responsibility of the user to correctly identify the matrix type. ! ! Also the test for positive definiteness is a low cost test for a hermitian ! matrix with a real positive diagonal. This does not guarentee that the matrix ! is positive definite, but only that it is a probable candidate. When such a ! matrix is factorized, a Cholesky factorization is first attempted, and if ! that fails the matrix is then treated with an LU factorization. Once the ! matrix has been factorized, @code{matrix_type} will return the correct ! classification of the matrix. @end deftypefn min -*- texinfo -*- *************** *** 5951,5956 **** --- 5970,5983 ---- @end group @end example @end deftypefn + md5sum + -*- texinfo -*- + @deftypefn {Loadable Function} {} md5sum (@var{file}) + @deftypefnx {Loadable Function} {} md5sum (@var{str}, @var{opt}) + Calculates the MD5 sum of the file @var{file}. If the second parameter + @var{opt} exists and is true, then calculate the MD5 sum of the + string @var{str}. + @end deftypefn edit_history -*- texinfo -*- @deffn {Command} edit_history options *************** *** 6556,6561 **** --- 6583,6589 ---- @deffnx {Command} more off Turn output pagination on or off. Without an argument, @code{more} toggles the current state. + The current state can be determined via @code{page_screen_output}. @end deffn terminal_size -*- texinfo -*- *************** *** 10193,10200 **** exist -*- texinfo -*- @deftypefn {Built-in Function} {} exist (@var{name}, @var{type}) ! Return 1 if the name exists as a variable, 2 if the name (after ! appending @samp{.m}) is a function file in Octave's @code{path}, 3 if the name is a @samp{.oct} or @samp{.mex} file in Octave's @code{path}, 5 if the name is a built-in function, 7 if the name is a directory, or 103 if the name is a function not associated with a file (entered on --- 10221,10229 ---- exist -*- texinfo -*- @deftypefn {Built-in Function} {} exist (@var{name}, @var{type}) ! Return 1 if the name exists as a variable, 2 if the name is an ! absolute file name, an ordinary file in Octave's @code{path}, or (after ! appending @samp{.m}) a function file in Octave's @code{path}, 3 if the name is a @samp{.oct} or @samp{.mex} file in Octave's @code{path}, 5 if the name is a built-in function, 7 if the name is a directory, or 103 if the name is a function not associated with a file (entered on *************** *** 10291,10297 **** @end deftypefn clear -*- texinfo -*- ! @deffn {Command} clear [-x] pattern @dots{} Delete the names matching the given patterns from the symbol table. The pattern may contain the following special characters: --- 10320,10326 ---- @end deftypefn clear -*- texinfo -*- ! @deffn {Command} clear [options] pattern @dots{} Delete the names matching the given patterns from the symbol table. The pattern may contain the following special characters: *************** *** 10329,10335 **** @code{foo} as a function. Executing @kbd{clear foo} a second time will clear the function definition. ! With -x, clear the variables that don't match the patterns. @end deffn __print_symtab_info__ -*- texinfo -*- --- 10358,10381 ---- @code{foo} as a function. Executing @kbd{clear foo} a second time will clear the function definition. ! The following options are available in both long and short form ! @table @code ! @item -all, -a ! Clears all local and global user-defined variables and all functions ! from the symbol table. ! ! @item -exclusive, -x ! Clears the variables that don't match the following pattern. ! ! @item -functions, -f ! Clears the function names and the built-in symbols names. ! @item -global, -g ! Clears the global symbol names. ! @item -variables, -v ! Clears the local variable names. ! @end table ! With the execption of @code{exclusive}, all long options can be used ! without the dash as well. @end deffn __print_symtab_info__ -*- texinfo -*- diff -cNr octave-3.0.0/src/Makefile.in octave-3.0.1/src/Makefile.in *** octave-3.0.0/src/Makefile.in Wed Dec 5 12:07:42 2007 --- octave-3.0.1/src/Makefile.in Mon Apr 21 12:00:20 2008 *************** *** 1,7 **** # Makefile for octave's src directory # # Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, ! # 2002, 2003, 2004, 2005, 2006, 2007 John W. Eaton # # This file is part of Octave. # --- 1,7 ---- # Makefile for octave's src directory # # Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, ! # 2002, 2003, 2004, 2005, 2006, 2007, 2008 John W. Eaton # # This file is part of Octave. # *************** *** 66,72 **** fft.cc fft2.cc fftn.cc fftw.cc filter.cc find.cc fsolve.cc \ gammainc.cc gcd.cc getgrent.cc getpwent.cc getrusage.cc \ givens.cc hess.cc inv.cc kron.cc lsode.cc \ ! lu.cc luinc.cc matrix_type.cc md5sum.cc minmax.cc pinv.cc qr.cc \ quad.cc qz.cc rand.cc regexp.cc schur.cc sort.cc sparse.cc \ spchol.cc spdet.cc spfind.cc spkron.cc splu.cc spparms.cc spqr.cc \ sqrtm.cc svd.cc syl.cc symrcm.cc time.cc tsearch.cc typecast.cc \ --- 66,72 ---- fft.cc fft2.cc fftn.cc fftw.cc filter.cc find.cc fsolve.cc \ gammainc.cc gcd.cc getgrent.cc getpwent.cc getrusage.cc \ givens.cc hess.cc inv.cc kron.cc lsode.cc \ ! lu.cc luinc.cc matrix_type.cc max.cc md5sum.cc pinv.cc qr.cc \ quad.cc qz.cc rand.cc regexp.cc schur.cc sort.cc sparse.cc \ spchol.cc spdet.cc spfind.cc spkron.cc splu.cc spparms.cc spqr.cc \ sqrtm.cc svd.cc syl.cc symrcm.cc time.cc tsearch.cc typecast.cc \ diff -cNr octave-3.0.0/src/OPERATORS/op-int.h octave-3.0.1/src/OPERATORS/op-int.h *** octave-3.0.0/src/OPERATORS/op-int.h Fri Oct 12 17:27:36 2007 --- octave-3.0.1/src/OPERATORS/op-int.h Mon Apr 21 12:00:20 2008 *************** *** 1,6 **** /* ! Copyright (C) 1996, 1997, 2004, 2005, 2006, 2007 John W. Eaton This file is part of Octave. --- 1,6 ---- /* ! Copyright (C) 1996, 1997, 2004, 2005, 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 204,211 **** OCTAVE_S_INT_UNOPS (TYPE) \ OCTAVE_SS_POW_OPS (TYPE, TYPE) \ OCTAVE_SS_INT_ARITH_OPS (ss, TYPE ## _, TYPE ## _) \ ! OCTAVE_SS_INT_ARITH_OPS (sx, TYPE ## _, ) \ ! OCTAVE_SS_INT_ARITH_OPS (xs, , TYPE ## _) \ OCTAVE_SS_INT_CMP_OPS (ss, TYPE ## _, TYPE ## _) \ OCTAVE_SS_INT_CMP_OPS (sx, TYPE ## _, ) \ OCTAVE_SS_INT_CMP_OPS (xs, , TYPE ## _) \ --- 204,211 ---- OCTAVE_S_INT_UNOPS (TYPE) \ OCTAVE_SS_POW_OPS (TYPE, TYPE) \ OCTAVE_SS_INT_ARITH_OPS (ss, TYPE ## _, TYPE ## _) \ ! OCTAVE_SS_INT_ARITH_OPS (ssx, TYPE ## _, ) \ ! OCTAVE_SS_INT_ARITH_OPS (sxs, , TYPE ## _) \ OCTAVE_SS_INT_CMP_OPS (ss, TYPE ## _, TYPE ## _) \ OCTAVE_SS_INT_CMP_OPS (sx, TYPE ## _, ) \ OCTAVE_SS_INT_CMP_OPS (xs, , TYPE ## _) \ *************** *** 243,249 **** } \ \ DEFNDBINOP_OP (PFX ## _el_mul, TS ## scalar, TM ## matrix, TS ## scalar, TM ## array, *) \ ! /* DEFNDBINOP_FN (PFX ## _el_div, TS ## scalar, TM ## matrix, TS ## scalar, TM ## array, x_el_div) */ \ DEFNDBINOP_FN (PFX ## _el_pow, TS ## scalar, TM ## matrix, TS ## scalar, TM ## array, elem_xpow) \ \ DEFBINOP (PFX ## _el_ldiv, TS ## scalar, TM ## matrix) \ --- 243,255 ---- } \ \ DEFNDBINOP_OP (PFX ## _el_mul, TS ## scalar, TM ## matrix, TS ## scalar, TM ## array, *) \ ! DEFBINOP (PFX ## _el_div, TS ## scalar, TM ## matrix) \ ! { \ ! CAST_BINOP_ARGS (const octave_ ## TS ## scalar&, const octave_ ## TM ## matrix&); \ ! \ ! return octave_value (v1.TS ## scalar_value () / v2.TM ## array_value ()); \ ! } \ ! \ DEFNDBINOP_FN (PFX ## _el_pow, TS ## scalar, TM ## matrix, TS ## scalar, TM ## array, elem_xpow) \ \ DEFBINOP (PFX ## _el_ldiv, TS ## scalar, TM ## matrix) \ *************** *** 279,286 **** --- 285,317 ---- result (i) = pow (a, b(i)); \ } \ return octave_value (result); \ + } \ + \ + octave_value \ + elem_xpow (const octave_ ## T1& a, const NDArray& b) \ + { \ + T1 ## NDArray result (b.dims ()); \ + for (int i = 0; i < b.length (); i++) \ + { \ + OCTAVE_QUIT; \ + result (i) = pow (a, b(i)); \ + } \ + return octave_value (result); \ + } \ + \ + octave_value \ + elem_xpow (double a, const T2 ## NDArray& b) \ + { \ + T2 ## NDArray result (b.dims ()); \ + for (int i = 0; i < b.length (); i++) \ + { \ + OCTAVE_QUIT; \ + result (i) = pow (a, b(i)); \ + } \ + return octave_value (result); \ } + #define OCTAVE_SM_CONV(TS, TM) \ DEFCONV (TS ## s_ ## TM ## m_conv, TM ## scalar, TM ## matrix) \ { \ *************** *** 292,298 **** #define OCTAVE_SM_INT_OPS(TYPE) \ OCTAVE_SM_POW_OPS (TYPE, TYPE) \ OCTAVE_SM_INT_ARITH_OPS (sm, TYPE ## _, TYPE ## _) \ ! OCTAVE_SM_INT_ARITH_OPS (xm, , TYPE ## _) \ OCTAVE_SM_INT_CMP_OPS (sm, TYPE ## _, TYPE ## _) \ OCTAVE_SM_INT_CMP_OPS (xm, , TYPE ## _) \ OCTAVE_SM_INT_CMP_OPS (smx, TYPE ## _, ) \ --- 323,330 ---- #define OCTAVE_SM_INT_OPS(TYPE) \ OCTAVE_SM_POW_OPS (TYPE, TYPE) \ OCTAVE_SM_INT_ARITH_OPS (sm, TYPE ## _, TYPE ## _) \ ! OCTAVE_SM_INT_ARITH_OPS (smx, TYPE ## _, ) \ ! OCTAVE_SM_INT_ARITH_OPS (sxm, , TYPE ## _) \ OCTAVE_SM_INT_CMP_OPS (sm, TYPE ## _, TYPE ## _) \ OCTAVE_SM_INT_CMP_OPS (xm, , TYPE ## _) \ OCTAVE_SM_INT_CMP_OPS (smx, TYPE ## _, ) \ *************** *** 345,356 **** \ DEFNDBINOP_FN (PFX ## _el_pow, TM ## matrix, TS ## scalar, TM ## array, TS ## scalar, elem_xpow) \ \ ! /* DEFBINOP (el_ldiv, TM ## matrix, TS ## scalar) */ \ ! /* { */ \ ! /* CAST_BINOP_ARGS (const octave_ ## TM ## matrix&, const octave_ ## TS ## scalar&); */ \ ! /* */ \ ! /* return x_el_div (v2.TM ## _ ## TS ## scalar_value (), v1.TM ## array_value ()); */ \ ! /* } */ #define OCTAVE_MS_INT_CMP_OPS(PFX, TM, TS) \ DEFNDBINOP_FN (PFX ## _lt, TM ## matrix, TS ## scalar, TM ## array, TS ## scalar, mx_el_lt) \ --- 377,388 ---- \ DEFNDBINOP_FN (PFX ## _el_pow, TM ## matrix, TS ## scalar, TM ## array, TS ## scalar, elem_xpow) \ \ ! DEFBINOP (PFX ## _el_ldiv, TM ## matrix, TS ## scalar) \ ! { \ ! CAST_BINOP_ARGS (const octave_ ## TM ## matrix&, const octave_ ## TS ## scalar&); \ ! \ ! return v2.TS ## scalar_value () / v1.TM ## array_value (); \ ! } #define OCTAVE_MS_INT_CMP_OPS(PFX, TM, TS) \ DEFNDBINOP_FN (PFX ## _lt, TM ## matrix, TS ## scalar, TM ## array, TS ## scalar, mx_el_lt) \ *************** *** 377,388 **** result (i) = pow (a(i), b); \ } \ return octave_value (result); \ } #define OCTAVE_MS_INT_OPS(TYPE) \ OCTAVE_MS_POW_OPS (TYPE, TYPE) \ OCTAVE_MS_INT_ARITH_OPS (ms, TYPE ## _, TYPE ## _) \ ! OCTAVE_MS_INT_ARITH_OPS (mx, TYPE ## _, ) \ OCTAVE_MS_INT_CMP_OPS (ms, TYPE ## _, TYPE ## _) \ OCTAVE_MS_INT_CMP_OPS (mx, TYPE ## _, ) \ OCTAVE_MS_INT_CMP_OPS (mxs, , TYPE ## _) \ --- 409,444 ---- result (i) = pow (a(i), b); \ } \ return octave_value (result); \ + } \ + \ + octave_value elem_xpow (T1 ## NDArray a, double b) \ + { \ + T1 ## NDArray result (a.dims ()); \ + for (int i = 0; i < a.length (); i++) \ + { \ + OCTAVE_QUIT; \ + result (i) = pow (a(i), b); \ + } \ + return octave_value (result); \ + } \ + \ + octave_value elem_xpow (NDArray a, octave_ ## T2 b) \ + { \ + T2 ## NDArray result (a.dims ()); \ + for (int i = 0; i < a.length (); i++) \ + { \ + OCTAVE_QUIT; \ + result (i) = pow (a(i), b); \ + } \ + return octave_value (result); \ } + #define OCTAVE_MS_INT_OPS(TYPE) \ OCTAVE_MS_POW_OPS (TYPE, TYPE) \ OCTAVE_MS_INT_ARITH_OPS (ms, TYPE ## _, TYPE ## _) \ ! OCTAVE_MS_INT_ARITH_OPS (msx, TYPE ## _, ) \ ! OCTAVE_MS_INT_ARITH_OPS (mxs, , TYPE ## _) \ OCTAVE_MS_INT_CMP_OPS (ms, TYPE ## _, TYPE ## _) \ OCTAVE_MS_INT_CMP_OPS (mx, TYPE ## _, ) \ OCTAVE_MS_INT_CMP_OPS (mxs, , TYPE ## _) \ *************** *** 415,449 **** DEFNCUNOP_METHOD (m_incr, TYPE ## _matrix, increment) \ DEFNCUNOP_METHOD (m_decr, TYPE ## _matrix, decrement) ! #define OCTAVE_MM_INT_ARITH_OPS(T1, T2) \ /* matrix by matrix ops. */ \ \ ! DEFNDBINOP_OP (mm_add, T1 ## _matrix, T2 ## _matrix, T1 ## _array, T2 ## _array, +) \ ! DEFNDBINOP_OP (mm_sub, T1 ## _matrix, T2 ## _matrix, T1 ## _array, T2 ## _array, -) \ \ ! /* DEFBINOP_OP (mm_mul, T1 ## _matrix, T2 ## _matrix, *) */ \ ! /* DEFBINOP_FN (mm_div, T1 ## _matrix, T2 ## _matrix, xdiv) */ \ \ ! DEFBINOPX (mm_pow, T1 ## _matrix, T2 ## _matrix) \ { \ error ("can't do A ^ B for A and B both matrices"); \ return octave_value (); \ } \ \ ! /* DEFBINOP_FN (ldiv, T1 ## _matrix, T2 ## _matrix, xleftdiv) */ \ \ ! DEFNDBINOP_FN (mm_el_mul, T1 ## _matrix, T2 ## _matrix, T1 ## _array, T2 ## _array, product) \ \ ! DEFNDBINOP_FN (mm_el_div, T1 ## _matrix, T2 ## _matrix, T1 ## _array, T2 ## _array, quotient) \ \ ! DEFNDBINOP_FN (mm_el_pow, T1 ## _matrix, T2 ## _matrix, T1 ## _array, T2 ## _array, elem_xpow) \ \ ! /* DEFBINOP (mm_el_ldiv, T1 ## _matrix, T2 ## _matrix) */ \ ! /* { */ \ ! /* CAST_BINOP_ARGS (const octavematrix&, const octavematrix&); */ \ ! /* */ \ ! /* return octave_value (quotient (v2.array_value (), v1.array_value ())); */ \ ! /* } */ #define OCTAVE_MM_INT_CMP_OPS(PFX, T1, T2) \ DEFNDBINOP_FN (PFX ## _lt, T1 ## matrix, T2 ## matrix, T1 ## array, T2 ## array, mx_el_lt) \ --- 471,505 ---- DEFNCUNOP_METHOD (m_incr, TYPE ## _matrix, increment) \ DEFNCUNOP_METHOD (m_decr, TYPE ## _matrix, decrement) ! #define OCTAVE_MM_INT_ARITH_OPS(PFX, T1, T2) \ /* matrix by matrix ops. */ \ \ ! DEFNDBINOP_OP (PFX ## _add, T1 ## matrix, T2 ## matrix, T1 ## array, T2 ## array, +) \ ! DEFNDBINOP_OP (PFX ## _sub, T1 ## matrix, T2 ## matrix, T1 ## array, T2 ## array, -) \ \ ! /* DEFBINOP_OP (PFX ## _mul, T1 ## matrix, T2 ## matrix, *) */ \ ! /* DEFBINOP_FN (PFX ## _div, T1 ## matrix, T2 ## matrix, xdiv) */ \ \ ! DEFBINOPX (PFX ## _pow, T1 ## matrix, T2 ## matrix) \ { \ error ("can't do A ^ B for A and B both matrices"); \ return octave_value (); \ } \ \ ! /* DEFBINOP_FN (PFX ## _ldiv, T1 ## matrix, T2 ## matrix, xleftdiv) */ \ \ ! DEFNDBINOP_FN (PFX ## _el_mul, T1 ## matrix, T2 ## matrix, T1 ## array, T2 ## array, product) \ \ ! DEFNDBINOP_FN (PFX ## _el_div, T1 ## matrix, T2 ## matrix, T1 ## array, T2 ## array, quotient) \ \ ! DEFNDBINOP_FN (PFX ## _el_pow, T1 ## matrix, T2 ## matrix, T1 ## array, T2 ## array, elem_xpow) \ \ ! DEFBINOP (PFX ## _el_ldiv, T1 ## matrix, T2 ## matrix) \ ! { \ ! CAST_BINOP_ARGS (const octave_ ## T1 ## matrix&, const octave_ ## T2 ## matrix&); \ ! \ ! return octave_value (quotient (v2.T2 ## array_value (), v1.T1 ## array_value ())); \ ! } #define OCTAVE_MM_INT_CMP_OPS(PFX, T1, T2) \ DEFNDBINOP_FN (PFX ## _lt, T1 ## matrix, T2 ## matrix, T1 ## array, T2 ## array, mx_el_lt) \ *************** *** 478,485 **** --- 534,580 ---- result (i) = pow (a(i), b(i)); \ } \ return octave_value (result); \ + } \ + \ + octave_value \ + elem_xpow (const T1 ## NDArray& a, const NDArray& b) \ + { \ + dim_vector a_dims = a.dims (); \ + dim_vector b_dims = b.dims (); \ + if (a_dims != b_dims) \ + { \ + gripe_nonconformant ("operator .^", a_dims, b_dims); \ + return octave_value (); \ + } \ + T1 ## NDArray result (a_dims); \ + for (int i = 0; i < a.length (); i++) \ + { \ + OCTAVE_QUIT; \ + result (i) = pow (a(i), b(i)); \ + } \ + return octave_value (result); \ + } \ + \ + octave_value \ + elem_xpow (const NDArray& a, const T2 ## NDArray& b) \ + { \ + dim_vector a_dims = a.dims (); \ + dim_vector b_dims = b.dims (); \ + if (a_dims != b_dims) \ + { \ + gripe_nonconformant ("operator .^", a_dims, b_dims); \ + return octave_value (); \ + } \ + T2 ## NDArray result (a_dims); \ + for (int i = 0; i < a.length (); i++) \ + { \ + OCTAVE_QUIT; \ + result (i) = pow (a(i), b(i)); \ + } \ + return octave_value (result); \ } + #define OCTAVE_MM_CONV(T1, T2) \ DEFCONV (T1 ## m_ ## T2 ## m_conv, T1 ## matrix, T2 ## matrix) \ { \ *************** *** 491,497 **** #define OCTAVE_MM_INT_OPS(TYPE) \ OCTAVE_M_INT_UNOPS (TYPE) \ OCTAVE_MM_POW_OPS (TYPE, TYPE) \ ! OCTAVE_MM_INT_ARITH_OPS (TYPE, TYPE) \ OCTAVE_MM_INT_CMP_OPS (mm, TYPE ## _, TYPE ## _) \ OCTAVE_MM_INT_CMP_OPS (mmx, TYPE ## _, ) \ OCTAVE_MM_INT_CMP_OPS (mxm, , TYPE ## _) \ --- 586,594 ---- #define OCTAVE_MM_INT_OPS(TYPE) \ OCTAVE_M_INT_UNOPS (TYPE) \ OCTAVE_MM_POW_OPS (TYPE, TYPE) \ ! OCTAVE_MM_INT_ARITH_OPS (mm, TYPE ## _, TYPE ## _) \ ! OCTAVE_MM_INT_ARITH_OPS (mmx, TYPE ## _, ) \ ! OCTAVE_MM_INT_ARITH_OPS (mxm, , TYPE ## _) \ OCTAVE_MM_INT_CMP_OPS (mm, TYPE ## _, TYPE ## _) \ OCTAVE_MM_INT_CMP_OPS (mmx, TYPE ## _, ) \ OCTAVE_MM_INT_CMP_OPS (mxm, , TYPE ## _) \ *************** *** 556,563 **** #define OCTAVE_INSTALL_SS_INT_OPS(TYPE) \ OCTAVE_INSTALL_S_INT_UNOPS (TYPE) \ OCTAVE_INSTALL_SS_INT_ARITH_OPS (ss, TYPE ## _, TYPE ## _) \ ! OCTAVE_INSTALL_SS_INT_ARITH_OPS (sx, TYPE ## _, ) \ ! OCTAVE_INSTALL_SS_INT_ARITH_OPS (xs, , TYPE ## _) \ OCTAVE_INSTALL_SS_INT_CMP_OPS (ss, TYPE ## _, TYPE ## _) \ OCTAVE_INSTALL_SS_INT_CMP_OPS (sx, TYPE ## _, ) \ OCTAVE_INSTALL_SS_INT_CMP_OPS (xs, , TYPE ## _) \ --- 653,660 ---- #define OCTAVE_INSTALL_SS_INT_OPS(TYPE) \ OCTAVE_INSTALL_S_INT_UNOPS (TYPE) \ OCTAVE_INSTALL_SS_INT_ARITH_OPS (ss, TYPE ## _, TYPE ## _) \ ! OCTAVE_INSTALL_SS_INT_ARITH_OPS (ssx, TYPE ## _, ) \ ! OCTAVE_INSTALL_SS_INT_ARITH_OPS (sxs, , TYPE ## _) \ OCTAVE_INSTALL_SS_INT_CMP_OPS (ss, TYPE ## _, TYPE ## _) \ OCTAVE_INSTALL_SS_INT_CMP_OPS (sx, TYPE ## _, ) \ OCTAVE_INSTALL_SS_INT_CMP_OPS (xs, , TYPE ## _) \ *************** *** 576,582 **** /* INSTALL_BINOP (op_pow, octave_ ## T1 ## scalar, octave_ ## T2 ## matrix, PFX ## _pow); */ \ INSTALL_BINOP (op_ldiv, octave_ ## T1 ## scalar, octave_ ## T2 ## matrix, PFX ## _ldiv); \ INSTALL_BINOP (op_el_mul, octave_ ## T1 ## scalar, octave_ ## T2 ## matrix, PFX ## _el_mul); \ ! /* INSTALL_BINOP (op_el_div, octave_ ## T1 ## scalar, octave_ ## T2 ## matrix, PFX ## _el_div); */ \ INSTALL_BINOP (op_el_pow, octave_ ## T1 ## scalar, octave_ ## T2 ## matrix, PFX ## _el_pow); \ INSTALL_BINOP (op_el_ldiv, octave_ ## T1 ## scalar, octave_ ## T2 ## matrix, PFX ## _el_ldiv); --- 673,679 ---- /* INSTALL_BINOP (op_pow, octave_ ## T1 ## scalar, octave_ ## T2 ## matrix, PFX ## _pow); */ \ INSTALL_BINOP (op_ldiv, octave_ ## T1 ## scalar, octave_ ## T2 ## matrix, PFX ## _ldiv); \ INSTALL_BINOP (op_el_mul, octave_ ## T1 ## scalar, octave_ ## T2 ## matrix, PFX ## _el_mul); \ ! INSTALL_BINOP (op_el_div, octave_ ## T1 ## scalar, octave_ ## T2 ## matrix, PFX ## _el_div); \ INSTALL_BINOP (op_el_pow, octave_ ## T1 ## scalar, octave_ ## T2 ## matrix, PFX ## _el_pow); \ INSTALL_BINOP (op_el_ldiv, octave_ ## T1 ## scalar, octave_ ## T2 ## matrix, PFX ## _el_ldiv); *************** *** 594,600 **** #define OCTAVE_INSTALL_SM_INT_OPS(TYPE) \ OCTAVE_INSTALL_SM_INT_ARITH_OPS (sm, TYPE ## _, TYPE ## _) \ ! OCTAVE_INSTALL_SM_INT_ARITH_OPS (xm, , TYPE ## _) \ OCTAVE_INSTALL_SM_INT_CMP_OPS (sm, TYPE ## _, TYPE ## _) \ OCTAVE_INSTALL_SM_INT_CMP_OPS (xm, , TYPE ## _) \ OCTAVE_INSTALL_SM_INT_CMP_OPS (smx, TYPE ## _, ) \ --- 691,698 ---- #define OCTAVE_INSTALL_SM_INT_OPS(TYPE) \ OCTAVE_INSTALL_SM_INT_ARITH_OPS (sm, TYPE ## _, TYPE ## _) \ ! OCTAVE_INSTALL_SM_INT_ARITH_OPS (smx, TYPE ## _, ) \ ! OCTAVE_INSTALL_SM_INT_ARITH_OPS (sxm, , TYPE ## _) \ OCTAVE_INSTALL_SM_INT_CMP_OPS (sm, TYPE ## _, TYPE ## _) \ OCTAVE_INSTALL_SM_INT_CMP_OPS (xm, , TYPE ## _) \ OCTAVE_INSTALL_SM_INT_CMP_OPS (smx, TYPE ## _, ) \ *************** *** 618,624 **** INSTALL_BINOP (op_el_mul, octave_ ## T1 ## matrix, octave_ ## T2 ## scalar, PFX ## _el_mul); \ INSTALL_BINOP (op_el_div, octave_ ## T1 ## matrix, octave_ ## T2 ## scalar, PFX ## _el_div); \ INSTALL_BINOP (op_el_pow, octave_ ## T1 ## matrix, octave_ ## T2 ## scalar, PFX ## _el_pow); \ ! /* INSTALL_BINOP (op_el_ldiv, octave_ ## T1 ## matrix, octave_ ## T2 ## scalar, PFX ## _el_ldiv); */ #define OCTAVE_INSTALL_MS_INT_CMP_OPS(PFX, T1, T2) \ INSTALL_BINOP (op_lt, octave_ ## T1 ## matrix, octave_ ## T2 ## scalar, PFX ## _lt); \ --- 716,722 ---- INSTALL_BINOP (op_el_mul, octave_ ## T1 ## matrix, octave_ ## T2 ## scalar, PFX ## _el_mul); \ INSTALL_BINOP (op_el_div, octave_ ## T1 ## matrix, octave_ ## T2 ## scalar, PFX ## _el_div); \ INSTALL_BINOP (op_el_pow, octave_ ## T1 ## matrix, octave_ ## T2 ## scalar, PFX ## _el_pow); \ ! INSTALL_BINOP (op_el_ldiv, octave_ ## T1 ## matrix, octave_ ## T2 ## scalar, PFX ## _el_ldiv); #define OCTAVE_INSTALL_MS_INT_CMP_OPS(PFX, T1, T2) \ INSTALL_BINOP (op_lt, octave_ ## T1 ## matrix, octave_ ## T2 ## scalar, PFX ## _lt); \ *************** *** 637,643 **** #define OCTAVE_INSTALL_MS_INT_OPS(TYPE) \ OCTAVE_INSTALL_MS_INT_ARITH_OPS (ms, TYPE ## _, TYPE ## _) \ ! OCTAVE_INSTALL_MS_INT_ARITH_OPS (mx, TYPE ## _, ) \ OCTAVE_INSTALL_MS_INT_CMP_OPS (ms, TYPE ## _, TYPE ## _) \ OCTAVE_INSTALL_MS_INT_CMP_OPS (mx, TYPE ## _, ) \ OCTAVE_INSTALL_MS_INT_CMP_OPS (mxs, , TYPE ## _) \ --- 735,742 ---- #define OCTAVE_INSTALL_MS_INT_OPS(TYPE) \ OCTAVE_INSTALL_MS_INT_ARITH_OPS (ms, TYPE ## _, TYPE ## _) \ ! OCTAVE_INSTALL_MS_INT_ARITH_OPS (msx, TYPE ## _, ) \ ! OCTAVE_INSTALL_MS_INT_ARITH_OPS (mxs, , TYPE ## _) \ OCTAVE_INSTALL_MS_INT_CMP_OPS (ms, TYPE ## _, TYPE ## _) \ OCTAVE_INSTALL_MS_INT_CMP_OPS (mx, TYPE ## _, ) \ OCTAVE_INSTALL_MS_INT_CMP_OPS (mxs, , TYPE ## _) \ *************** *** 658,674 **** INSTALL_NCUNOP (op_incr, octave_ ## TYPE ## _matrix, m_incr); \ INSTALL_NCUNOP (op_decr, octave_ ## TYPE ## _matrix, m_decr); ! #define OCTAVE_INSTALL_MM_INT_ARITH_OPS(T1, T2) \ ! INSTALL_BINOP (op_add, octave_ ## T1 ## _matrix, octave_ ## T2 ## _matrix, mm_add); \ ! INSTALL_BINOP (op_sub, octave_ ## T1 ## _matrix, octave_ ## T2 ## _matrix, mm_sub); \ ! /* INSTALL_BINOP (op_mul, octave_ ## T1 ## _matrix, octave_ ## T2 ## _matrix, mm_mul); */ \ ! /* INSTALL_BINOP (op_div, octave_ ## T1 ## _matrix, octave_ ## T2 ## _matrix, mm_div); */ \ ! INSTALL_BINOP (op_pow, octave_ ## T1 ## _matrix, octave_ ## T2 ## _matrix, mm_pow); \ /* INSTALL_BINOP (op_ldiv, octave_ ## T1 ## _matrix, octave_ ## T2 ## _matrix, mm_ldiv); */ \ ! INSTALL_BINOP (op_el_mul, octave_ ## T1 ## _matrix, octave_ ## T2 ## _matrix, mm_el_mul); \ ! INSTALL_BINOP (op_el_div, octave_ ## T1 ## _matrix, octave_ ## T2 ## _matrix, mm_el_div); \ ! INSTALL_BINOP (op_el_pow, octave_ ## T1 ## _matrix, octave_ ## T2 ## _matrix, mm_el_pow); \ ! /* INSTALL_BINOP (op_el_ldiv, octave_ ## T1 ## _matrix, octave_ ## T2 ## _matrix, mm_el_ldiv); */ #define OCTAVE_INSTALL_MM_INT_CMP_OPS(PFX, T1, T2) \ INSTALL_BINOP (op_lt, octave_ ## T1 ## matrix, octave_ ## T2 ## matrix, PFX ## _lt); \ --- 757,773 ---- INSTALL_NCUNOP (op_incr, octave_ ## TYPE ## _matrix, m_incr); \ INSTALL_NCUNOP (op_decr, octave_ ## TYPE ## _matrix, m_decr); ! #define OCTAVE_INSTALL_MM_INT_ARITH_OPS(PFX, T1, T2) \ ! INSTALL_BINOP (op_add, octave_ ## T1 ## matrix, octave_ ## T2 ## matrix, PFX ## _add); \ ! INSTALL_BINOP (op_sub, octave_ ## T1 ## matrix, octave_ ## T2 ## matrix, PFX ## _sub); \ ! /* INSTALL_BINOP (op_mul, octave_ ## T1 ## matrix, octave_ ## T2 ## matrix, PFX ## _mul); */ \ ! /* INSTALL_BINOP (op_div, octave_ ## T1 ## matrix, octave_ ## T2 ## matrix, PFX ## _div); */ \ ! INSTALL_BINOP (op_pow, octave_ ## T1 ## matrix, octave_ ## T2 ## matrix, PFX ## _pow); \ /* INSTALL_BINOP (op_ldiv, octave_ ## T1 ## _matrix, octave_ ## T2 ## _matrix, mm_ldiv); */ \ ! INSTALL_BINOP (op_el_mul, octave_ ## T1 ## matrix, octave_ ## T2 ## matrix, PFX ## _el_mul); \ ! INSTALL_BINOP (op_el_div, octave_ ## T1 ## matrix, octave_ ## T2 ## matrix, PFX ## _el_div); \ ! INSTALL_BINOP (op_el_pow, octave_ ## T1 ## matrix, octave_ ## T2 ## matrix, PFX ## _el_pow); \ ! INSTALL_BINOP (op_el_ldiv, octave_ ## T1 ## matrix, octave_ ## T2 ## matrix, PFX ## _el_ldiv); #define OCTAVE_INSTALL_MM_INT_CMP_OPS(PFX, T1, T2) \ INSTALL_BINOP (op_lt, octave_ ## T1 ## matrix, octave_ ## T2 ## matrix, PFX ## _lt); \ *************** *** 687,693 **** #define OCTAVE_INSTALL_MM_INT_OPS(TYPE) \ OCTAVE_INSTALL_M_INT_UNOPS (TYPE) \ ! OCTAVE_INSTALL_MM_INT_ARITH_OPS (TYPE, TYPE) \ OCTAVE_INSTALL_MM_INT_CMP_OPS (mm, TYPE ## _, TYPE ## _) \ OCTAVE_INSTALL_MM_INT_CMP_OPS (mmx, TYPE ## _, ) \ OCTAVE_INSTALL_MM_INT_CMP_OPS (mxm, , TYPE ## _) \ --- 786,794 ---- #define OCTAVE_INSTALL_MM_INT_OPS(TYPE) \ OCTAVE_INSTALL_M_INT_UNOPS (TYPE) \ ! OCTAVE_INSTALL_MM_INT_ARITH_OPS (mm, TYPE ##_, TYPE ## _) \ ! OCTAVE_INSTALL_MM_INT_ARITH_OPS (mmx, TYPE ##_, ) \ ! OCTAVE_INSTALL_MM_INT_ARITH_OPS (mxm, , TYPE ##_) \ OCTAVE_INSTALL_MM_INT_CMP_OPS (mm, TYPE ## _, TYPE ## _) \ OCTAVE_INSTALL_MM_INT_CMP_OPS (mmx, TYPE ## _, ) \ OCTAVE_INSTALL_MM_INT_CMP_OPS (mxm, , TYPE ## _) \ *************** *** 703,715 **** INSTALL_ASSIGNOP (op_asn_eq, octave_matrix, octave_ ## TYPE ## _scalar, TYPE ## ms_assign) \ INSTALL_ASSIGNOP (op_asn_eq, octave_matrix, octave_ ## TYPE ## _matrix, TYPE ## mm_assign) \ INSTALL_ASSIGNCONV (octave_scalar, octave_ ## TYPE ## _scalar, octave_matrix) \ ! INSTALL_ASSIGNCONV (octave_scalar, octave_ ## TYPE ## _matrix, octave_matrix) #define OCTAVE_INSTALL_CX_INT_ASSIGN_OPS(TYPE) \ INSTALL_ASSIGNOP (op_asn_eq, octave_complex_matrix, octave_ ## TYPE ## _scalar, TYPE ## cms_assign) \ INSTALL_ASSIGNOP (op_asn_eq, octave_complex_matrix, octave_ ## TYPE ## _matrix, TYPE ## cmm_assign) \ INSTALL_ASSIGNCONV (octave_complex_scalar, octave_ ## TYPE ## _scalar, octave_complex_matrix) \ ! INSTALL_ASSIGNCONV (octave_complex_scalar, octave_ ## TYPE ## _matrix, octave_complex_matrix) #define OCTAVE_INSTALL_INT_OPS(TYPE) \ OCTAVE_INSTALL_SS_INT_OPS (TYPE) \ --- 804,816 ---- INSTALL_ASSIGNOP (op_asn_eq, octave_matrix, octave_ ## TYPE ## _scalar, TYPE ## ms_assign) \ INSTALL_ASSIGNOP (op_asn_eq, octave_matrix, octave_ ## TYPE ## _matrix, TYPE ## mm_assign) \ INSTALL_ASSIGNCONV (octave_scalar, octave_ ## TYPE ## _scalar, octave_matrix) \ ! INSTALL_ASSIGNCONV (octave_matrix, octave_ ## TYPE ## _matrix, octave_matrix) #define OCTAVE_INSTALL_CX_INT_ASSIGN_OPS(TYPE) \ INSTALL_ASSIGNOP (op_asn_eq, octave_complex_matrix, octave_ ## TYPE ## _scalar, TYPE ## cms_assign) \ INSTALL_ASSIGNOP (op_asn_eq, octave_complex_matrix, octave_ ## TYPE ## _matrix, TYPE ## cmm_assign) \ INSTALL_ASSIGNCONV (octave_complex_scalar, octave_ ## TYPE ## _scalar, octave_complex_matrix) \ ! INSTALL_ASSIGNCONV (octave_complex_matrix, octave_ ## TYPE ## _matrix, octave_complex_matrix) #define OCTAVE_INSTALL_INT_OPS(TYPE) \ OCTAVE_INSTALL_SS_INT_OPS (TYPE) \ diff -cNr octave-3.0.0/src/__gnuplot_raw__.cc octave-3.0.1/src/__gnuplot_raw__.cc *** octave-3.0.0/src/__gnuplot_raw__.cc Thu Dec 20 15:45:08 2007 --- octave-3.0.1/src/__gnuplot_raw__.cc Mon Apr 21 12:28:38 2008 *************** *** 5,14 **** /* A lexical scanner generated by flex */ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 5 ! #define YY_FLEX_SUBMINOR_VERSION 33 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif --- 5,33 ---- /* A lexical scanner generated by flex */ + #define yy_create_buffer gpt_create_buffer + #define yy_delete_buffer gpt_delete_buffer + #define yy_flex_debug gpt_flex_debug + #define yy_init_buffer gpt_init_buffer + #define yy_flush_buffer gpt_flush_buffer + #define yy_load_buffer_state gpt_load_buffer_state + #define yy_switch_to_buffer gpt_switch_to_buffer + #define yyin gptin + #define yyleng gptleng + #define yylex gptlex + #define yylineno gptlineno + #define yyout gptout + #define yyrestart gptrestart + #define yytext gpttext + #define yywrap gptwrap + #define yyalloc gptalloc + #define yyrealloc gptrealloc + #define yyfree gptfree + #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 5 ! #define YY_FLEX_SUBMINOR_VERSION 35 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif *************** *** 30,36 **** /* C99 systems have . Non-C99 systems may or may not. */ ! #if __STDC_VERSION__ >= 199901L /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, * if you want the limit (max/min) macros for int types. --- 49,55 ---- /* C99 systems have . Non-C99 systems may or may not. */ ! #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, * if you want the limit (max/min) macros for int types. *************** *** 53,59 **** typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; - #endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN --- 72,77 ---- *************** *** 84,89 **** --- 102,109 ---- #define UINT32_MAX (4294967295U) #endif + #endif /* ! C99 */ + #endif /* ! FLEXINT_H */ #ifdef __cplusplus *************** *** 93,103 **** #else /* ! __cplusplus */ ! #if __STDC__ #define YY_USE_CONST ! #endif /* __STDC__ */ #endif /* ! __cplusplus */ #ifdef YY_USE_CONST --- 113,124 ---- #else /* ! __cplusplus */ ! /* C99 requires __STDC__ to be defined as 1. */ ! #if defined (__STDC__) #define YY_USE_CONST ! #endif /* defined (__STDC__) */ #endif /* ! __cplusplus */ #ifdef YY_USE_CONST *************** *** 177,190 **** #define unput(c) yyunput( c, (yytext_ptr) ) - /* The following is because we cannot portably get our hands on size_t - * (without autoconf's help, which isn't available because we want - * flex-generated scanners to compile on their own). - */ - #ifndef YY_TYPEDEF_YY_SIZE_T #define YY_TYPEDEF_YY_SIZE_T ! typedef unsigned int yy_size_t; #endif #ifndef YY_STRUCT_YY_BUFFER_STATE --- 198,206 ---- #define unput(c) yyunput( c, (yytext_ptr) ) #ifndef YY_TYPEDEF_YY_SIZE_T #define YY_TYPEDEF_YY_SIZE_T ! typedef size_t yy_size_t; #endif #ifndef YY_STRUCT_YY_BUFFER_STATE *************** *** 335,341 **** /* Begin user sect3 */ ! #define gptwrap() 1 #define YY_SKIP_YYWRAP typedef unsigned char YY_CHAR; --- 351,357 ---- /* Begin user sect3 */ ! #define gptwrap(n) 1 #define YY_SKIP_YYWRAP typedef unsigned char YY_CHAR; *************** *** 616,622 **** /* NOT is not strictly a binary operator, but is close enough for us. */ /* single quote (') transpose operator is handled separately. */ ! #line 620 "" #define INITIAL 0 --- 632,638 ---- /* NOT is not strictly a binary operator, but is close enough for us. */ /* single quote (') transpose operator is handled separately. */ ! #line 636 "" #define INITIAL 0 *************** *** 634,639 **** --- 650,684 ---- static int yy_init_globals (void ); + /* Accessor methods to globals. + These are made visible to non-reentrant scanners for convenience. */ + + int gptlex_destroy (void ); + + int gptget_debug (void ); + + void gptset_debug (int debug_flag ); + + YY_EXTRA_TYPE gptget_extra (void ); + + void gptset_extra (YY_EXTRA_TYPE user_defined ); + + FILE *gptget_in (void ); + + void gptset_in (FILE * in_str ); + + FILE *gptget_out (void ); + + void gptset_out (FILE * out_str ); + + int gptget_leng (void ); + + char *gptget_text (void ); + + int gptget_lineno (void ); + + void gptset_lineno (int line_number ); + /* Macros after this point can all be overridden by user definitions in * section 1. */ *************** *** 676,682 **** /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ ! #define ECHO (void) fwrite( gpttext, gptleng, 1, gptout ) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, --- 721,727 ---- /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ ! #define ECHO fwrite( gpttext, gptleng, 1, gptout ) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, *************** *** 772,778 **** #line 128 "DLD-FUNCTIONS/__gnuplot_raw__.l" ! #line 776 "" if ( !(yy_init) ) { --- 817,823 ---- #line 128 "DLD-FUNCTIONS/__gnuplot_raw__.l" ! #line 821 "" if ( !(yy_init) ) { *************** *** 1038,1044 **** #line 250 "DLD-FUNCTIONS/__gnuplot_raw__.l" ECHO; YY_BREAK ! #line 1042 "" case YY_STATE_EOF(INITIAL): yyterminate(); --- 1083,1089 ---- #line 250 "DLD-FUNCTIONS/__gnuplot_raw__.l" ECHO; YY_BREAK ! #line 1087 "" case YY_STATE_EOF(INITIAL): yyterminate(); *************** *** 1293,1298 **** --- 1338,1351 ---- else ret_val = EOB_ACT_CONTINUE_SCAN; + if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { + /* Extend the array by 50%, plus the number we really need. */ + yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) gptrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); + if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) + YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); + } + (yy_n_chars) += number_to_move; YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; *************** *** 1708,1714 **** (yy_buffer_stack) = (struct yy_buffer_state**)gptalloc (num_to_alloc * sizeof(struct yy_buffer_state*) ); ! memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); (yy_buffer_stack_max) = num_to_alloc; --- 1761,1769 ---- (yy_buffer_stack) = (struct yy_buffer_state**)gptalloc (num_to_alloc * sizeof(struct yy_buffer_state*) ); ! if ( ! (yy_buffer_stack) ) ! YY_FATAL_ERROR( "out of dynamic memory in gptensure_buffer_stack()" ); ! memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); (yy_buffer_stack_max) = num_to_alloc; *************** *** 1726,1731 **** --- 1781,1788 ---- ((yy_buffer_stack), num_to_alloc * sizeof(struct yy_buffer_state*) ); + if ( ! (yy_buffer_stack) ) + YY_FATAL_ERROR( "out of dynamic memory in gptensure_buffer_stack()" ); /* zero only the new slots.*/ memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); diff -cNr octave-3.0.0/src/data.cc octave-3.0.1/src/data.cc *** octave-3.0.0/src/data.cc Fri Dec 7 14:26:21 2007 --- octave-3.0.1/src/data.cc Mon Apr 21 12:00:20 2008 *************** *** 1,7 **** /* Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, ! 2003, 2004, 2005, 2006, 2007 John W. Eaton This file is part of Octave. --- 1,7 ---- /* Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, ! 2003, 2004, 2005, 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 3087,3093 **** DEFUN (power, args, , "-*- texinfo -*-\n\ @deftypefn {Built-in Function} {} power (@var{x}, @var{y})\n\ ! This function is equivalent to @code{x .\\ y}.\n\ @end deftypefn") { BINARY_OP_DEFUN_BODY (op_el_pow); --- 3087,3093 ---- DEFUN (power, args, , "-*- texinfo -*-\n\ @deftypefn {Built-in Function} {} power (@var{x}, @var{y})\n\ ! This function is equivalent to @code{x .^ y}.\n\ @end deftypefn") { BINARY_OP_DEFUN_BODY (op_el_pow); *************** *** 3096,3101 **** --- 3096,3102 ---- DEFUN (ldivide, args, , "-*- texinfo -*-\n\ @deftypefn {Built-in Function} {} ldivide (@var{x}, @var{y})\n\ + This function is equivalent to @code{x .\\ y}.\n\ @end deftypefn") { BINARY_OP_DEFUN_BODY (op_el_ldiv); diff -cNr octave-3.0.0/src/debug.cc octave-3.0.1/src/debug.cc *** octave-3.0.0/src/debug.cc Tue Oct 30 22:12:16 2007 --- octave-3.0.1/src/debug.cc Mon Apr 21 12:00:20 2008 *************** *** 1,6 **** /* ! Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 Ben Sapp This file is part of Octave. --- 1,7 ---- /* ! Copyright (C) 2007, 2008 John Swensen ! Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Ben Sapp This file is part of Octave. *************** *** 93,137 **** } static void ! parse_dbfunction_params (const octave_value_list& args, ! std::string& symbol_name, ! bp_table::intmap& lines) { - octave_idx_type len = 0; int nargin = args.length (); int idx = 0; int list_idx = 0; symbol_name = std::string (); // If we are already in a debugging function. if (octave_call_stack::caller_user_function ()) - idx = 0; - else { ! symbol_name = args (0).string_value (); if (error_state) return; idx = 1; } for (int i = idx; i < nargin; i++ ) { ! if (args (i).is_string ()) ! len++; ! else ! len += args (i).numel (); ! } ! ! lines = bp_table::intmap (); ! for (int i = idx; i < nargin; i++ ) ! { ! if (args (i).is_string ()) { int line = atoi (args(i).string_value().c_str ()); if (error_state) break; lines[list_idx++] = line; } else { const NDArray arg = args(i).array_value (); --- 94,143 ---- } static void ! parse_dbfunction_params (const char *who, const octave_value_list& args, ! std::string& symbol_name, bp_table::intmap& lines) { int nargin = args.length (); int idx = 0; int list_idx = 0; symbol_name = std::string (); + lines = bp_table::intmap (); + + if (args.length () == 0) + return; // If we are already in a debugging function. if (octave_call_stack::caller_user_function ()) { ! idx = 0; ! symbol_name = get_user_function ()->name (); ! } ! else if (args(0).is_map ()) ! { ! // Problem because parse_dbfunction_params() can only pass out a ! // single function ! } ! else if (args(0).is_string()) ! { ! symbol_name = args(0).string_value (); if (error_state) return; idx = 1; } + else + error ("%s: invalid parameter specified", who); for (int i = idx; i < nargin; i++ ) { ! if (args(i).is_string ()) { int line = atoi (args(i).string_value().c_str ()); if (error_state) break; lines[list_idx++] = line; } + else if (args(i).is_map ()) + octave_stdout << who << ": accepting a struct" << std::endl; else { const NDArray arg = args(i).array_value (); *************** *** 208,226 **** if (dbg_fcn) { tree_statement_list *cmds = dbg_fcn->body (); ! for (int i = 0; i < len; i++) { ! const_intmap_iterator p = line.find (i); ! if (p != line.end ()) ! cmds->delete_breakpoint (p->second); } - octave_value_list results = cmds->list_breakpoints (); - - if (results.length () == 0) - bp_map.erase (bp_map.find (fname)); - retval = results.length (); } else --- 214,236 ---- if (dbg_fcn) { tree_statement_list *cmds = dbg_fcn->body (); ! octave_value_list results = cmds->list_breakpoints (); ! if (results.length () > 0) { ! for (int i = 0; i < len; i++) ! { ! const_intmap_iterator p = line.find (i); ! ! if (p != line.end ()) ! cmds->delete_breakpoint (p->second); ! } ! results = cmds->list_breakpoints (); ! breakpoint_map_iterator it = bp_map.find (fname); ! if (results.length () == 0 && it != bp_map.end ()) ! bp_map.erase (it); } retval = results.length (); } else *************** *** 249,256 **** cmds->delete_breakpoint (lineno); retval[i] = lineno; } ! ! bp_map.erase (bp_map.find (fname)); } else error ("remove_all_breakpoint_in_file: " --- 259,268 ---- cmds->delete_breakpoint (lineno); retval[i] = lineno; } ! ! breakpoint_map_iterator it = bp_map.find (fname); ! if (it != bp_map.end ()) ! bp_map.erase (it); } else error ("remove_all_breakpoint_in_file: " *************** *** 358,364 **** std::string symbol_name; bp_table::intmap lines; ! parse_dbfunction_params (args, symbol_name, lines); if (! error_state) retval = bp_table::add_breakpoint (symbol_name, lines); --- 370,376 ---- std::string symbol_name; bp_table::intmap lines; ! parse_dbfunction_params ("dbstop", args, symbol_name, lines); if (! error_state) retval = bp_table::add_breakpoint (symbol_name, lines); *************** *** 387,393 **** std::string symbol_name = ""; bp_table::intmap lines; ! parse_dbfunction_params (args, symbol_name, lines); if (! error_state) bp_table::remove_breakpoint (symbol_name, lines); --- 399,405 ---- std::string symbol_name = ""; bp_table::intmap lines; ! parse_dbfunction_params ("dbclear", args, symbol_name, lines); if (! error_state) bp_table::remove_breakpoint (symbol_name, lines); diff -cNr octave-3.0.0/src/error.cc octave-3.0.1/src/error.cc *** octave-3.0.0/src/error.cc Tue Dec 4 14:02:46 2007 --- octave-3.0.1/src/error.cc Mon Apr 21 12:00:20 2008 *************** *** 1,7 **** /* Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, ! 2002, 2003, 2004, 2005, 2006, 2007 John W. Eaton This file is part of Octave. --- 1,7 ---- /* Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, ! 2002, 2003, 2004, 2005, 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 53,63 **** // TRUE means that Octave will try to enter the debugger when an error // is encountered. This will also inhibit printing of the normal // traceback message (you will only see the top-level error message). ! static bool Vdebug_on_error = false; // TRUE means that Octave will try to enter the debugger when a warning // is encountered. ! static bool Vdebug_on_warning = false; // TRUE means that Octave will try to display a stack trace when a // warning is encountered. --- 53,63 ---- // TRUE means that Octave will try to enter the debugger when an error // is encountered. This will also inhibit printing of the normal // traceback message (you will only see the top-level error message). ! bool Vdebug_on_error = false; // TRUE means that Octave will try to enter the debugger when a warning // is encountered. ! bool Vdebug_on_warning = false; // TRUE means that Octave will try to display a stack trace when a // warning is encountered. diff -cNr octave-3.0.0/src/error.h octave-3.0.1/src/error.h *** octave-3.0.0/src/error.h Fri Oct 12 17:27:29 2007 --- octave-3.0.1/src/error.h Mon Apr 21 11:58:40 2008 *************** *** 1,7 **** /* Copyright (C) 1993, 1994, 1995, 1996, 1997, 2000, 2001, 2002, 2003, ! 2004, 2005, 2006, 2007 John W. Eaton This file is part of Octave. --- 1,7 ---- /* Copyright (C) 1993, 1994, 1995, 1996, 1997, 2000, 2001, 2002, 2003, ! 2004, 2005, 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 88,93 **** --- 88,102 ---- extern OCTINTERP_API void disable_warning (const std::string& id); extern OCTINTERP_API void initialize_default_warning_state (void); + // TRUE means that Octave will try to enter the debugger when an error + // is encountered. This will also inhibit printing of the normal + // traceback message (you will only see the top-level error message). + extern OCTINTERP_API bool Vdebug_on_error; + + // TRUE means that Octave will try to enter the debugger when a warning + // is encountered. + extern OCTINTERP_API bool Vdebug_on_warning; + // Current error state. extern OCTINTERP_API int error_state; diff -cNr octave-3.0.0/src/file-io.cc octave-3.0.1/src/file-io.cc *** octave-3.0.0/src/file-io.cc Fri Nov 2 13:24:24 2007 --- octave-3.0.1/src/file-io.cc Mon Apr 21 12:00:20 2008 *************** *** 1,7 **** /* Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, ! 2002, 2003, 2004, 2005, 2006, 2007 John W. Eaton This file is part of Octave. --- 1,7 ---- /* Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, ! 2002, 2003, 2004, 2005, 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 1495,1501 **** int idx = 1; ! if (nargin > 1 && ! args(idx).is_string ()) size = args(idx++); if (nargin > idx) --- 1495,1501 ---- int idx = 1; ! if (nargin > idx && ! args(idx).is_string ()) size = args(idx++); if (nargin > idx) *************** *** 1506,1511 **** --- 1506,1516 ---- if (nargin > idx) arch = args(idx++); + else if (skip.is_string ()) + { + arch = skip; + skip = 0; + } octave_idx_type count = -1; *************** *** 1597,1612 **** if (! error_state) { ! octave_value data = args(1); ! octave_value prec = (nargin > 2) ! ? args(2) : octave_value ("uchar"); ! octave_value skip = (nargin > 3) ! ? args(3) : octave_value (0.0); ! octave_value arch = (nargin > 4) ! ? args(4) : octave_value ("unknown"); double status = do_fwrite (os, data, prec, skip, arch); --- 1602,1628 ---- if (! error_state) { ! octave_value prec = "uchar"; ! octave_value skip = 0; ! octave_value arch = "unknown"; ! ! int idx = 1; ! ! octave_value data = args(idx++); ! if (nargin > idx) ! prec = args(idx++); ! if (nargin > idx) ! skip = args(idx++); ! if (nargin > idx) ! arch = args(idx++); ! else if (skip.is_string ()) ! { ! arch = skip; ! skip = 0; ! } double status = do_fwrite (os, data, prec, skip, arch); diff -cNr octave-3.0.0/src/graphics.cc octave-3.0.1/src/graphics.cc *** octave-3.0.0/src/graphics.cc Fri Dec 14 12:43:34 2007 --- octave-3.0.1/src/graphics.cc Mon Apr 21 12:00:20 2008 *************** *** 1,6 **** /* ! Copyright (C) 2007 John W. Eaton This file is part of Octave. --- 1,6 ---- /* ! Copyright (C) 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 1128,1133 **** --- 1128,1135 ---- xticklabelmode ("auto"), yticklabelmode ("auto"), zticklabelmode ("auto"), + tickdir (radio_values ("{in}|out")), + tickdirmode (radio_values ("{auto}|manual")), color (color_values (0, 0, 0), radio_values ("flat|none|interp")), xcolor (color_values (0, 0, 0)), ycolor (color_values (0, 0, 0)), *************** *** 1140,1145 **** --- 1142,1148 ---- zdir ("normal"), xaxislocation ("bottom"), yaxislocation ("left"), + linewidth (0.5), view (), visible ("on"), nextplot ("replace"), *************** *** 1324,1329 **** --- 1327,1336 ---- set_yticklabelmode (val); else if (name.compare ("zticklabelmode")) set_zticklabelmode (val); + else if (name.compare ("tickdir")) + set_tickdir (val); + else if (name.compare ("tickdirmode")) + set_tickdirmode (val); else if (name.compare ("color")) set_color (val); else if (name.compare ("xcolor")) *************** *** 1348,1353 **** --- 1355,1362 ---- set_xaxislocation (val); else if (name.compare ("yaxislocation")) set_yaxislocation (val); + else if (name.compare ("linwdiwth")) + set_linewidth (val); else if (name.compare ("view")) set_view (val); else if (name.compare ("visible")) *************** *** 1420,1425 **** --- 1429,1436 ---- xticklabelmode = "auto"; yticklabelmode = "auto"; zticklabelmode = "auto"; + tickdir = radio_property (radio_values ("{in}|out")); + tickdirmode = radio_property (radio_values ("{auto}|manual")); color = color_property (color_values (0, 0, 0), radio_values("flat|none|interp")); xcolor = color_property ("black"); ycolor = color_property ("black"); *************** *** 1432,1437 **** --- 1443,1449 ---- zdir = "normal"; xaxislocation = "left"; yaxislocation = "bottom"; + linewidth = 0.5; Matrix tview (1, 2, 0.0); tview(1) = 90; *************** *** 1546,1551 **** --- 1558,1565 ---- m.assign ("xticklabelmode", xticklabelmode); m.assign ("yticklabelmode", yticklabelmode); m.assign ("zticklabelmode", zticklabelmode); + m.assign ("tickdir", tickdir); + m.assign ("tickdirmode", tickdirmode); m.assign ("color", color); m.assign ("xcolor", xcolor); m.assign ("ycolor", ycolor); *************** *** 1558,1563 **** --- 1572,1578 ---- m.assign ("zdir", zdir); m.assign ("xaxislocation", xaxislocation); m.assign ("yaxislocation", yaxislocation); + m.assign ("linewidth", linewidth); m.assign ("view", view); m.assign ("visible", visible); m.assign ("nextplot", nextplot); *************** *** 1661,1666 **** --- 1676,1685 ---- retval = yticklabelmode; else if (name.compare ("zticklabelmode")) retval = zticklabelmode; + else if (name.compare ("tickdir")) + retval = tickdir; + else if (name.compare ("tickdirmode")) + retval = tickdirmode; else if (name.compare ("color")) retval = color; else if (name.compare ("xcolor")) *************** *** 1685,1690 **** --- 1704,1711 ---- retval = xaxislocation; else if (name.compare ("yaxislocation")) retval = yaxislocation; + else if (name.compare ("linewidth")) + retval = linewidth; else if (name.compare ("view")) retval = view; else if (name.compare ("visible")) *************** *** 1782,1787 **** --- 1803,1810 ---- m["xticklabelmode"] = "auto"; m["yticklabelmode"] = "auto"; m["zticklabelmode"] = "auto"; + m["tickdir"] = radio_property (radio_values ("{in}|out")); + m["tickdirmode"] = radio_property (radio_values ("{auto}|manual")); m["color"] = color_property (color_values (0, 0, 0), radio_values("flat|none|interp")); m["xcolor"] = color_property ("black"); m["ycolor"] = color_property ("black"); *************** *** 1794,1799 **** --- 1817,1823 ---- m["zdir"] = "normal"; m["xaxislocation"] = "bottom"; m["yaxislocation"] = "left"; + m["linewidth"] = 0.5; Matrix tview (1, 2, 0.0); tview(1) = 90; *************** *** 2128,2134 **** marker ("none"), markeredgecolor ("auto"), markerfacecolor ("none"), ! markersize (1), keylabel (""), interpreter (radio_values ("{tex}|none|latex")) { } --- 2152,2158 ---- marker ("none"), markeredgecolor ("auto"), markerfacecolor ("none"), ! markersize (6), keylabel (""), interpreter (radio_values ("{tex}|none|latex")) { } *************** *** 2292,2298 **** m["marker"] = "none"; m["markeredgecolor"] = "auto"; m["markerfacecolor"] = "none"; ! m["markersize"] = 1; m["keylabel"] = ""; m["interpreter"] = radio_property (radio_values ("{tex}|none|latex")); --- 2316,2322 ---- m["marker"] = "none"; m["markeredgecolor"] = "auto"; m["markerfacecolor"] = "none"; ! m["markersize"] = 6; m["keylabel"] = ""; m["interpreter"] = radio_property (radio_values ("{tex}|none|latex")); *************** *** 2464,2470 **** : base_properties (go_name, mh, p), xdata (Matrix ()), ydata (Matrix ()), ! cdata (Matrix ()) { } void --- 2488,2495 ---- : base_properties (go_name, mh, p), xdata (Matrix ()), ydata (Matrix ()), ! cdata (Matrix ()), ! cdatamapping (radio_values ("{scaled}|direct")) { } void *************** *** 2490,2495 **** --- 2515,2522 ---- set_ydata (val); else if (name.compare ("cdata")) set_cdata (val); + else if (name.compare ("cdatamapping")) + set_cdatamapping (val); else { modified = false; *************** *** 2513,2518 **** --- 2540,2546 ---- m.assign ("xdata", xdata); m.assign ("ydata", ydata); m.assign ("cdata", cdata); + m.assign ("cdatamapping", cdatamapping); return m; } *************** *** 2538,2543 **** --- 2566,2573 ---- retval = ydata; else if (name.compare ("cdata")) retval = cdata; + else if (name.compare ("cdatamapping")) + retval = cdatamapping; else warning ("get: invalid property `%s'", name.c_str ()); *************** *** 2552,2557 **** --- 2582,2588 ---- m["xdata"] = Matrix (); m["ydata"] = Matrix (); m["cdata"] = Matrix (); + m["cdatamapping"] = radio_property (radio_values ("{scaled}|direct")); return m; } *************** *** 2567,2572 **** --- 2598,2604 ---- ydata (Matrix ()), zdata (Matrix ()), cdata (Matrix ()), + cdatamapping (radio_values ("{scaled}|direct")), faces (Matrix ()), vertices (Matrix ()), facecolor (radio_values ("{flat}|none|interp")), *************** *** 2577,2583 **** marker ("none"), markeredgecolor ("auto"), markerfacecolor ("none"), ! markersize (1), keylabel (""), interpreter (radio_values ("{tex}|none|latex")) { } --- 2609,2615 ---- marker ("none"), markeredgecolor ("auto"), markerfacecolor ("none"), ! markersize (6), keylabel (""), interpreter (radio_values ("{tex}|none|latex")) { } *************** *** 2607,2612 **** --- 2639,2646 ---- set_zdata (val); else if (name.compare ("cdata")) set_cdata (val); + else if (name.compare ("cdatamapping")) + set_cdatamapping (val); else if (name.compare ("faces")) set_faces (val); else if (name.compare ("vertices")) *************** *** 2657,2662 **** --- 2691,2697 ---- m.assign ("ydata", ydata); m.assign ("zdata", zdata); m.assign ("cdata", cdata); + m.assign ("cdatamapping", cdatamapping); m.assign ("faces", faces); m.assign ("vertices", vertices); m.assign ("facecolor", facecolor); *************** *** 2697,2702 **** --- 2732,2739 ---- retval = zdata; else if (name.compare ("cdata")) retval = cdata; + else if (name.compare ("cdatamapping")) + retval = cdatamapping; else if (name.compare ("faces")) retval = faces; else if (name.compare ("vertices")) *************** *** 2738,2743 **** --- 2775,2781 ---- m["ydata"] = Matrix (); m["zdata"] = Matrix (); m["cdata"] = Matrix (); + m["cdatamapping"] = radio_property (radio_values ("{scaled}|direct")); m["faces"] = Matrix (); m["vertices"] = Matrix (); m["facecolor"] = color_property (); *************** *** 2748,2754 **** m["marker"] = "none"; m["markeredgecolor"] = "auto"; m["markerfacecolor"] = "none"; ! m["markersize"] = 1; m["keylabel"] = ""; m["interpreter"] = radio_property (radio_values ("{tex}|none|latex")); --- 2786,2792 ---- m["marker"] = "none"; m["markeredgecolor"] = "auto"; m["markerfacecolor"] = "none"; ! m["markersize"] = 6; m["keylabel"] = ""; m["interpreter"] = radio_property (radio_values ("{tex}|none|latex")); *************** *** 2766,2771 **** --- 2804,2810 ---- ydata (Matrix ()), zdata (Matrix ()), cdata (Matrix ()), + cdatamapping (radio_values ("{scaled}|direct")), facecolor (radio_values ("{flat}|none|interp")), facealpha (1.0), edgecolor (color_values (0, 0, 0), radio_values ("flat|none|interp")), *************** *** 2774,2780 **** marker ("none"), markeredgecolor ("auto"), markerfacecolor ("none"), ! markersize (1), keylabel (""), interpreter (radio_values ("{tex}|none|latex")) { } --- 2813,2819 ---- marker ("none"), markeredgecolor ("auto"), markerfacecolor ("none"), ! markersize (6), keylabel (""), interpreter (radio_values ("{tex}|none|latex")) { } *************** *** 2804,2809 **** --- 2843,2850 ---- set_zdata (val); else if (name.compare ("cdata")) set_cdata (val); + else if (name.compare ("cdatamapping")) + set_cdatamapping (val); else if (name.compare ("facecolor")) set_facecolor (val); else if (name.compare ("facealpha")) *************** *** 2850,2855 **** --- 2891,2897 ---- m.assign ("ydata", ydata); m.assign ("zdata", zdata); m.assign ("cdata", cdata); + m.assign ("cdatamapping", cdatamapping); m.assign ("facecolor", facecolor); m.assign ("facealpha", facealpha); m.assign ("edgecolor", edgecolor); *************** *** 2888,2893 **** --- 2930,2937 ---- retval = zdata; else if (name.compare ("cdata")) retval = cdata; + else if (name.compare ("cdatamapping")) + retval = cdatamapping; else if (name.compare ("facecolor")) retval = facecolor; else if (name.compare ("facealpha")) *************** *** 2925,2930 **** --- 2969,2975 ---- m["ydata"] = Matrix (); m["zdata"] = Matrix (); m["cdata"] = Matrix (); + m["cdatamapping"] = radio_property (radio_values ("{scaled}|direct")); m["facecolor"] = color_property (); m["facealpha"] = 1.0; m["edgecolor"] = color_property ("black"); *************** *** 2933,2939 **** m["marker"] = "none"; m["markeredgecolor"] = "auto"; m["markerfacecolor"] = "none"; ! m["markersize"] = 1; m["keylabel"] = ""; m["interpreter"] = radio_property (radio_values ("{tex}|none|latex")); --- 2978,2984 ---- m["marker"] = "none"; m["markeredgecolor"] = "auto"; m["markerfacecolor"] = "none"; ! m["markersize"] = 6; m["keylabel"] = ""; m["interpreter"] = radio_property (radio_values ("{tex}|none|latex")); diff -cNr octave-3.0.0/src/graphics.h octave-3.0.1/src/graphics.h *** octave-3.0.0/src/graphics.h Thu Dec 20 15:45:08 2007 --- octave-3.0.1/src/graphics.h Mon Apr 21 12:28:36 2008 *************** *** 2,8 **** /* ! Copyright (C) 2007 John W. Eaton This file is part of Octave. --- 2,8 ---- /* ! Copyright (C) 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 740,745 **** --- 740,751 ---- return data_property (); } + virtual radio_property get_cdatamapping (void) const + { + error ("get: invalid property \"cdatamapping\""); + return radio_property (); + } + protected: std::string tag; std::string type; *************** *** 1031,1036 **** --- 1037,1048 ---- return props.get_cdata (); } + radio_property get_cdatamapping (void) const + { + const base_properties& props = get_properties (); + return props.get_cdatamapping (); + } + private: base_graphics_object *rep; }; *************** *** 1499,1504 **** --- 1511,1518 ---- octave_value xticklabelmode; octave_value yticklabelmode; octave_value zticklabelmode; + radio_property tickdir; + radio_property tickdirmode; color_property color; color_property xcolor; color_property ycolor; *************** *** 1511,1516 **** --- 1525,1531 ---- octave_value zdir; octave_value xaxislocation; octave_value yaxislocation; + octave_value linewidth; octave_value view; octave_value visible; octave_value nextplot; *************** *** 1559,1564 **** --- 1574,1581 ---- octave_value get_xticklabelmode (void) const { return xticklabelmode; } octave_value get_yticklabelmode (void) const { return yticklabelmode; } octave_value get_zticklabelmode (void) const { return zticklabelmode; } + radio_property get_tickdir (void) const { return tickdir; } + radio_property get_tickdirmode (void) const { return tickdirmode; } color_property get_color (void) const { return color; } color_property get_xcolor (void) const { return xcolor; } color_property get_ycolor (void) const { return ycolor; } *************** *** 1571,1576 **** --- 1588,1594 ---- octave_value get_zdir (void) const { return zdir; } octave_value get_xaxislocation (void) const { return xaxislocation; } octave_value get_yaxislocation (void) const { return yaxislocation; } + octave_value get_linewidth (void) const { return linewidth; } octave_value get_view (void) const { return view; } octave_value get_visible (void) const { return visible; } octave_value get_nextplot (void) const { return nextplot; } *************** *** 1951,1956 **** --- 1969,2008 ---- } } + void set_tickdir (const radio_property& val) + { + if (! error_state) + { + tickdir = val; + set_tickdirmode ("manual"); + mark_modified (); + } + } + + void set_tickdir (const octave_value& val) + { + radio_property tmp (tickdir); + tmp = val; + set_tickdir (tmp); + }; + + void set_tickdirmode (const radio_property& val) + { + if (! error_state) + { + tickdirmode = val; + update_axis_limits ("tickdirmode"); + mark_modified (); + } + } + + void set_tickdirmode (const octave_value& val) + { + radio_property tmp (tickdirmode); + tmp = val; + set_tickdirmode (tmp); + }; + void set_color (const color_property& val) { if (! error_state) *************** *** 2096,2101 **** --- 2148,2162 ---- } } + void set_linewidth (const octave_value& val) + { + if (! error_state) + { + linewidth = val; + mark_modified (); + } + } + void set_view (const octave_value& val) { if (! error_state) *************** *** 2842,2853 **** --- 2903,2916 ---- data_property xdata; data_property ydata; data_property cdata; + radio_property cdatamapping; public: data_property get_xdata (void) const { return xdata; } data_property get_ydata (void) const { return ydata; } data_property get_cdata (void) const { return cdata; } + radio_property get_cdatamapping (void) const { return cdatamapping; } void set_xdata (const data_property& val) { *************** *** 2885,2890 **** --- 2948,2969 ---- void set_cdata (const octave_value& val) { set_cdata (data_property (val)); } + void set_cdatamapping (const radio_property& val) + { + if (! error_state) + { + cdatamapping = val; + mark_modified (); + } + } + + void set_cdatamapping (const octave_value& val) + { + radio_property tmp (cdatamapping); + tmp = val; + set_cdatamapping (tmp); + }; + private: *************** *** 2982,2987 **** --- 3061,3067 ---- data_property ydata; data_property zdata; data_property cdata; + radio_property cdatamapping; octave_value faces; octave_value vertices; color_property facecolor; *************** *** 3002,3007 **** --- 3082,3088 ---- data_property get_ydata (void) const { return ydata; } data_property get_zdata (void) const { return zdata; } data_property get_cdata (void) const { return cdata; } + radio_property get_cdatamapping (void) const { return cdatamapping; } octave_value get_faces (void) const { return faces; } octave_value get_vertices (void) const { return vertices; } color_property get_facecolor (void) const { return facecolor; } *************** *** 3064,3069 **** --- 3145,3166 ---- void set_cdata (const octave_value& val) { set_cdata (data_property (val)); } + void set_cdatamapping (const radio_property& val) + { + if (! error_state) + { + cdatamapping = val; + mark_modified (); + } + } + + void set_cdatamapping (const octave_value& val) + { + radio_property tmp (cdatamapping); + tmp = val; + set_cdatamapping (tmp); + }; + void set_faces (const octave_value& val) { if (! error_state) *************** *** 3299,3304 **** --- 3396,3402 ---- data_property ydata; data_property zdata; data_property cdata; + radio_property cdatamapping; color_property facecolor; octave_value facealpha; color_property edgecolor; *************** *** 3317,3322 **** --- 3415,3421 ---- data_property get_ydata (void) const { return ydata; } data_property get_zdata (void) const { return zdata; } data_property get_cdata (void) const { return cdata; } + radio_property get_cdatamapping (void) const { return cdatamapping; } color_property get_facecolor (void) const { return facecolor; } octave_value get_facealpha (void) const { return facealpha; } color_property get_edgecolor (void) const { return edgecolor; } *************** *** 3377,3382 **** --- 3476,3497 ---- void set_cdata (const octave_value& val) { set_cdata (data_property (val)); } + void set_cdatamapping (const radio_property& val) + { + if (! error_state) + { + cdatamapping = val; + mark_modified (); + } + } + + void set_cdatamapping (const octave_value& val) + { + radio_property tmp (cdatamapping); + tmp = val; + set_cdatamapping (tmp); + }; + void set_facecolor (const color_property& val) { if (! error_state) diff -cNr octave-3.0.0/src/graphics.h.in octave-3.0.1/src/graphics.h.in *** octave-3.0.0/src/graphics.h.in Wed Dec 12 13:44:35 2007 --- octave-3.0.1/src/graphics.h.in Mon Apr 21 12:00:20 2008 *************** *** 1,6 **** /* ! Copyright (C) 2007 John W. Eaton This file is part of Octave. --- 1,6 ---- /* ! Copyright (C) 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 738,743 **** --- 738,749 ---- return data_property (); } + virtual radio_property get_cdatamapping (void) const + { + error ("get: invalid property \"cdatamapping\""); + return radio_property (); + } + protected: std::string tag; std::string type; *************** *** 1029,1034 **** --- 1035,1046 ---- return props.get_cdata (); } + radio_property get_cdatamapping (void) const + { + const base_properties& props = get_properties (); + return props.get_cdatamapping (); + } + private: base_graphics_object *rep; }; *************** *** 1390,1395 **** --- 1402,1409 ---- octave_value xticklabelmode octave_value yticklabelmode octave_value zticklabelmode + radio_property tickdir am + radio_property tickdirmode al color_property color a color_property xcolor color_property ycolor *************** *** 1402,1407 **** --- 1416,1422 ---- octave_value zdir octave_value xaxislocation octave_value yaxislocation + octave_value linewidth octave_value view octave_value visible octave_value nextplot *************** *** 1749,1754 **** --- 1764,1770 ---- data_property xdata l data_property ydata l data_property cdata l + radio_property cdatamapping a END_PROPERTIES static std::string go_name; *************** *** 1844,1849 **** --- 1860,1866 ---- data_property ydata l data_property zdata l data_property cdata l + radio_property cdatamapping a octave_value faces octave_value vertices color_property facecolor a *************** *** 1952,1957 **** --- 1969,1975 ---- data_property ydata l data_property zdata l data_property cdata l + radio_property cdatamapping a color_property facecolor a octave_value facealpha color_property edgecolor a diff -cNr octave-3.0.0/src/load-path.cc octave-3.0.1/src/load-path.cc *** octave-3.0.0/src/load-path.cc Mon Dec 10 02:06:01 2007 --- octave-3.0.1/src/load-path.cc Mon Apr 21 12:00:20 2008 *************** *** 1,6 **** /* ! Copyright (C) 2006, 2007 John W. Eaton This file is part of Octave. --- 1,6 ---- /* ! Copyright (C) 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 346,358 **** std::string tpath = genpath (dir); if (! tpath.empty ()) ! path += dir_path::path_sep_str + tpath; } void load_path::do_initialize (bool set_initial_path) { ! sys_path = dir_path::path_sep_str; if (set_initial_path) { --- 346,363 ---- std::string tpath = genpath (dir); if (! tpath.empty ()) ! { ! if (path.empty ()) ! path = tpath; ! else ! path += dir_path::path_sep_str + tpath; ! } } void load_path::do_initialize (bool set_initial_path) { ! sys_path = ""; if (set_initial_path) { *************** *** 376,382 **** if (! tpath.empty ()) xpath += dir_path::path_sep_str + tpath; ! if (sys_path != dir_path::path_sep_str) xpath += sys_path; do_set (xpath, false); --- 381,387 ---- if (! tpath.empty ()) xpath += dir_path::path_sep_str + tpath; ! if (! sys_path.empty ()) xpath += sys_path; do_set (xpath, false); diff -cNr octave-3.0.0/src/mex.cc octave-3.0.1/src/mex.cc *** octave-3.0.0/src/mex.cc Wed Nov 14 21:44:06 2007 --- octave-3.0.1/src/mex.cc Mon Apr 21 12:00:20 2008 *************** *** 1,6 **** /* ! Copyright (C) 2006, 2007 John W. Eaton This file is part of Octave. --- 1,6 ---- /* ! Copyright (C) 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 271,276 **** --- 271,308 ---- } }; + static mwIndex + calc_single_subscript_internal (mwSize ndims, const mwSize *dims, + mwSize nsubs, const mwIndex *subs) + { + mwIndex retval = 0; + + switch (nsubs) + { + case 0: + break; + + case 1: + retval = subs[0]; + break; + + default: + { + // Both nsubs and ndims should be at least 2 here. + + mwSize n = nsubs <= ndims ? nsubs : ndims; + + retval = subs[--n]; + + while (--n >= 0) + retval = dims[n] * retval + subs[n]; + } + break; + } + + return retval; + } + // The object that handles values pass to MEX files from Octave. Some // methods in this class may set mutate_flag to TRUE to tell the // mxArray class to convert to the Matlab-style representation and *************** *** 605,621 **** mwIndex calc_single_subscript (mwSize nsubs, mwIndex *subs) const { - mwIndex retval = 0; - // Force ndims, dims to be cached. get_dimensions (); ! mwIndex n = nsubs <= ndims ? nsubs : ndims; ! ! while (--n > 0) ! retval = retval * dims[n] + subs[n]; ! ! return retval; } size_t get_element_size (void) const --- 637,646 ---- mwIndex calc_single_subscript (mwSize nsubs, mwIndex *subs) const { // Force ndims, dims to be cached. get_dimensions (); ! return calc_single_subscript_internal (ndims, dims, nsubs, subs); } size_t get_element_size (void) const *************** *** 996,1009 **** mwIndex calc_single_subscript (mwSize nsubs, mwIndex *subs) const { ! mwIndex retval = 0; ! ! mwSize n = nsubs <= ndims ? nsubs : ndims; ! ! while (--n > 0) ! retval = retval * dims[n] + subs[n]; ! ! return retval; } size_t get_element_size (void) const --- 1021,1027 ---- mwIndex calc_single_subscript (mwSize nsubs, mwIndex *subs) const { ! return calc_single_subscript_internal (ndims, dims, nsubs, subs); } size_t get_element_size (void) const *************** *** 2526,2532 **** } mxArray * ! mxCreateLogicalScalar (int val) { return maybe_mark_array (new mxArray (mxLOGICAL_CLASS, val)); } --- 2544,2550 ---- } mxArray * ! mxCreateLogicalScalar (mxLogical val) { return maybe_mark_array (new mxArray (mxLOGICAL_CLASS, val)); } diff -cNr octave-3.0.0/src/mxarray.h octave-3.0.1/src/mxarray.h *** octave-3.0.0/src/mxarray.h Fri Dec 21 15:15:10 2007 --- octave-3.0.1/src/mxarray.h Mon Apr 21 12:14:47 2008 *************** *** 1,6 **** /* ! Copyright (C) 2001, 2006, 2007 Paul Kienzle This file is part of Octave. --- 1,6 ---- /* ! Copyright (C) 2001, 2006, 2007, 2008 Paul Kienzle This file is part of Octave. *************** *** 75,81 **** } mxClassID; ! typedef int mxLogical; /* typedef Uint16 mxChar; */ typedef char mxChar; --- 75,81 ---- } mxClassID; ! typedef unsigned char mxLogical; /* typedef Uint16 mxChar; */ typedef char mxChar; *************** *** 90,95 **** --- 90,97 ---- #if ! defined (MXARRAY_TYPEDEFS_ONLY) + #include + class octave_value; #define DO_MUTABLE_METHOD(RET_T, METHOD_CALL) \ diff -cNr octave-3.0.0/src/mxarray.h.in octave-3.0.1/src/mxarray.h.in *** octave-3.0.0/src/mxarray.h.in Tue Oct 23 20:32:44 2007 --- octave-3.0.1/src/mxarray.h.in Mon Apr 21 12:00:20 2008 *************** *** 1,6 **** /* ! Copyright (C) 2001, 2006, 2007 Paul Kienzle This file is part of Octave. --- 1,6 ---- /* ! Copyright (C) 2001, 2006, 2007, 2008 Paul Kienzle This file is part of Octave. *************** *** 75,81 **** } mxClassID; ! typedef int mxLogical; /* typedef Uint16 mxChar; */ typedef char mxChar; --- 75,81 ---- } mxClassID; ! typedef unsigned char mxLogical; /* typedef Uint16 mxChar; */ typedef char mxChar; *************** *** 90,95 **** --- 90,97 ---- #if ! defined (MXARRAY_TYPEDEFS_ONLY) + #include + class octave_value; #define DO_MUTABLE_METHOD(RET_T, METHOD_CALL) \ diff -cNr octave-3.0.0/src/oct-stream.cc octave-3.0.1/src/oct-stream.cc *** octave-3.0.0/src/oct-stream.cc Fri Nov 30 11:18:46 2007 --- octave-3.0.1/src/oct-stream.cc Mon Apr 21 12:00:20 2008 *************** *** 1,7 **** /* Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, ! 2005, 2006, 2007 John W. Eaton This file is part of Octave. --- 1,7 ---- /* Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, ! 2005, 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 26,31 **** --- 26,32 ---- #endif #include + #include #include #include *************** *** 1039,1050 **** return do_gets (max_len, err, false, who); } - #if defined (__GNUG__) && ! defined (CXX_ISO_COMPLIANT_LIBRARY) - - #define OCTAVE_SCAN(is, fmt, arg) is.scan ((fmt).text, arg) - - #else - #define OCTAVE_SCAN(is, fmt, arg) octave_scan (is, fmt, arg) template --- 1040,1045 ---- *************** *** 1071,1084 **** { if (c1 == '0') { ! int c2 = is.get (); if (c2 == 'x' || c2 == 'X') ! is >> std::hex >> ref >> std::dec; else { - is.putback (c2); - if (c2 == '0' || c2 == '1' || c2 == '2' || c2 == '3' || c2 == '4' || c2 == '5' || c2 == '6' || c2 == '7') --- 1066,1083 ---- { if (c1 == '0') { ! int c2 = is.peek (); if (c2 == 'x' || c2 == 'X') ! { ! is.ignore (); ! if (std::isxdigit (is.peek ())) ! is >> std::hex >> ref >> std::dec; ! else ! ref = 0; ! } else { if (c2 == '0' || c2 == '1' || c2 == '2' || c2 == '3' || c2 == '4' || c2 == '5' || c2 == '6' || c2 == '7') *************** *** 1339,1346 **** return is; } - #endif - template void do_scanf_conv (std::istream& is, const scanf_format_elt& fmt, --- 1338,1343 ---- *************** *** 1547,1591 **** \ do \ { \ ! if (width) \ ! { \ ! char *tbuf = new char[width+1]; \ \ ! OCTAVE_SCAN (is, *elt, tbuf); \ \ ! tbuf[width] = '\0'; \ ! tmp = tbuf; \ ! delete [] tbuf; \ } \ else \ { \ ! std::ostringstream buf; \ ! \ ! std::string char_class = elt->char_class; \ ! \ ! int c = EOF; \ ! \ ! if (elt->type == '[') \ ! { \ ! while (is && (c = is.get ()) != EOF \ ! && char_class.find (c) != NPOS) \ ! buf << static_cast (c); \ ! } \ ! else \ ! { \ ! while (is && (c = is.get ()) != EOF \ ! && char_class.find (c) == NPOS) \ ! buf << static_cast (c); \ ! } \ \ ! if (c != EOF) \ ! is.putback (c); \ \ ! tmp = buf.str (); \ \ ! if (tmp.empty ()) \ ! is.setstate (std::ios::failbit); \ ! } \ } \ while (0) --- 1544,1580 ---- \ do \ { \ ! if (! width) \ ! width = INT_MAX; \ \ ! std::ostringstream buf; \ \ ! std::string char_class = elt->char_class; \ ! \ ! int c = EOF; \ ! \ ! if (elt->type == '[') \ ! { \ ! int chars_read = 0; \ ! while (is && chars_read++ < width && (c = is.get ()) != EOF \ ! && char_class.find (c) != NPOS) \ ! buf << static_cast (c); \ } \ else \ { \ ! int chars_read = 0; \ ! while (is && chars_read++ < width && (c = is.get ()) != EOF \ ! && char_class.find (c) == NPOS) \ ! buf << static_cast (c); \ ! } \ \ ! if (width == INT_MAX && c != EOF) \ ! is.putback (c); \ \ ! tmp = buf.str (); \ \ ! if (tmp.empty ()) \ ! is.setstate (std::ios::failbit); \ } \ while (0) *************** *** 3138,3150 **** elts_read++; } if (skip != 0 && elts_read == block_size) { ! strm.seek (skip, SEEK_CUR); elts_read = 0; } ! if (is.eof ()) { if (nr > 0) { --- 3127,3141 ---- elts_read++; } + int seek_status = 0; + if (skip != 0 && elts_read == block_size) { ! seek_status = strm.seek (skip, SEEK_CUR); elts_read = 0; } ! if (is.eof () || seek_status < 0) { if (nr > 0) { *************** *** 3261,3266 **** --- 3252,3261 ---- FILL_TABLE_ROW (oct_data_conv::dt_uint32, uint32NDArray); FILL_TABLE_ROW (oct_data_conv::dt_int64, int64NDArray); FILL_TABLE_ROW (oct_data_conv::dt_uint64, uint64NDArray); + // FIXME -- the following line allows things like int8=>single + // to work, but they will actually return a double value. We + // need a floatNDArray for this to work properly. + FILL_TABLE_ROW (oct_data_conv::dt_single, NDArray); FILL_TABLE_ROW (oct_data_conv::dt_double, NDArray); FILL_TABLE_ROW (oct_data_conv::dt_char, charNDArray); FILL_TABLE_ROW (oct_data_conv::dt_schar, charNDArray); diff -cNr octave-3.0.0/src/ov-fcn-handle.cc octave-3.0.1/src/ov-fcn-handle.cc *** octave-3.0.0/src/ov-fcn-handle.cc Thu Oct 25 01:50:55 2007 --- octave-3.0.1/src/ov-fcn-handle.cc Mon Apr 21 12:00:21 2008 *************** *** 1,6 **** /* ! Copyright (C) 2003, 2004, 2005, 2006, 2007 John W. Eaton This file is part of Octave. --- 1,6 ---- /* ! Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 139,150 **** panic_impossible (); } ! // FIXME -- perhaps there should be an ! // octave_value_list::next_subsref member function? See also ! // octave_builtin::subsref. ! ! if (idx.size () > 1) ! retval = retval(0).next_subsref (nargout, type, idx); return retval; } --- 139,146 ---- panic_impossible (); } ! // There's no need to call next_subsref here -- ! // octave_function::subsref will handle that for us. return retval; } diff -cNr octave-3.0.0/src/ov-mapper.cc octave-3.0.1/src/ov-mapper.cc *** octave-3.0.0/src/ov-mapper.cc Fri Oct 12 17:27:32 2007 --- octave-3.0.1/src/ov-mapper.cc Mon Apr 21 12:00:21 2008 *************** *** 1,7 **** /* Copyright (C) 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, ! 2006, 2007 John W. Eaton This file is part of Octave. --- 1,7 ---- /* Copyright (C) 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, ! 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 159,165 **** for (octave_idx_type i = M.cidx(j); i < M.cidx (j+1); i++) \ { \ OCTAVE_QUIT; \ ! result.elem (M.ridx (i), j) = CONV (F (M.data(i))); \ \ if (error_state) \ return retval; \ --- 159,166 ---- for (octave_idx_type i = M.cidx(j); i < M.cidx (j+1); i++) \ { \ OCTAVE_QUIT; \ ! /* Use data instead of elem for better performance. */ \ ! result.data (M.ridx (i) + j * nr) = CONV (F (M.data(i))); \ \ if (error_state) \ return retval; \ diff -cNr octave-3.0.0/src/ov-range.h octave-3.0.1/src/ov-range.h *** octave-3.0.0/src/ov-range.h Fri Oct 12 17:27:32 2007 --- octave-3.0.1/src/ov-range.h Mon Apr 21 12:00:21 2008 *************** *** 1,7 **** /* Copyright (C) 1996, 1997, 1998, 2000, 2002, 2003, 2004, 2005, 2006, ! 2007 John W. Eaton This file is part of Octave. --- 1,7 ---- /* Copyright (C) 1996, 1997, 1998, 2000, 2002, 2003, 2004, 2005, 2006, ! 2007, 2008 John W. Eaton This file is part of Octave. diff -cNr octave-3.0.0/src/ov-struct.cc octave-3.0.1/src/ov-struct.cc *** octave-3.0.0/src/ov-struct.cc Mon Oct 22 08:12:20 2007 --- octave-3.0.1/src/ov-struct.cc Mon Apr 21 12:00:21 2008 *************** *** 1,7 **** /* Copyright (C) 1996, 1997, 1998, 2000, 2002, 2003, 2004, 2005, 2006, ! 2007 John W. Eaton This file is part of Octave. --- 1,7 ---- /* Copyright (C) 1996, 1997, 1998, 2000, 2002, 2003, 2004, 2005, 2006, ! 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 118,124 **** if (! error_state) { ! Cell t = tmp.index (idx.front ()); retval(0) = (t.length () == 1) ? t(0) : octave_value (t, true); --- 118,124 ---- if (! error_state) { ! Cell t = tmp.index (idx.front (), true); retval(0) = (t.length () == 1) ? t(0) : octave_value (t, true); *************** *** 129,135 **** } } else ! retval(0) = map.index (idx.front ()); } break; --- 129,135 ---- } } else ! retval(0) = map.index (idx.front (), true); } break; diff -cNr octave-3.0.0/src/pager.cc octave-3.0.1/src/pager.cc *** octave-3.0.0/src/pager.cc Fri Oct 12 17:27:33 2007 --- octave-3.0.1/src/pager.cc Mon Apr 21 12:00:21 2008 *************** *** 1,7 **** /* Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, ! 2002, 2003, 2005, 2006, 2007 John W. Eaton This file is part of Octave. --- 1,7 ---- /* Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, ! 2002, 2003, 2005, 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 496,501 **** --- 496,502 ---- @deffnx {Command} more off\n\ Turn output pagination on or off. Without an argument, @code{more}\n\ toggles the current state.\n\ + The current state can be determined via @code{page_screen_output}.\n\ @end deffn") { octave_value_list retval; diff -cNr octave-3.0.0/src/parse.y octave-3.0.1/src/parse.y *** octave-3.0.0/src/parse.y Fri Oct 12 17:27:33 2007 --- octave-3.0.1/src/parse.y Mon Apr 21 12:00:21 2008 *************** *** 1,7 **** /* Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, ! 2002, 2003, 2004, 2005, 2006, 2007 John W. Eaton This file is part of Octave. --- 1,7 ---- /* Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, ! 2002, 2003, 2004, 2005, 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 1734,1741 **** case DQ_STRING: case SQ_STRING: { ! octave_value tmp (tok_val->text (), op == DQ_STRING ? '"' : '\''); retval = new tree_constant (tmp, l, c); } break; --- 1734,1752 ---- case DQ_STRING: case SQ_STRING: { ! std::string txt = tok_val->text (); ! ! char delim = op == DQ_STRING ? '"' : '\''; ! ! octave_value tmp (txt, delim); retval = new tree_constant (tmp, l, c); + + if (op == DQ_STRING) + txt = undo_string_escapes (txt); + + // FIXME -- maybe this should also be handled by + // tok_val->text_rep () for character strings? + retval->stash_original_text (delim + txt + delim); } break; diff -cNr octave-3.0.0/src/pr-output.cc octave-3.0.1/src/pr-output.cc *** octave-3.0.0/src/pr-output.cc Fri Nov 30 13:53:30 2007 --- octave-3.0.1/src/pr-output.cc Mon Apr 21 12:00:21 2008 *************** *** 1,7 **** /* Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, ! 2002, 2003, 2004, 2005, 2006, 2007 John W. Eaton This file is part of Octave. --- 1,7 ---- /* Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, ! 2002, 2003, 2004, 2005, 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 2809,2817 **** args(0).print (octave_stdout); else { std::ostringstream buf; ! args(0).print (buf); ! retval = buf.str (); } } else --- 2809,2818 ---- args(0).print (octave_stdout); else { + octave_value arg = args(0); std::ostringstream buf; ! arg.print (buf); ! retval = octave_value (buf.str (), arg.is_dq_string () ? '"' : '\''); } } else diff -cNr octave-3.0.0/src/pt-except.cc octave-3.0.1/src/pt-except.cc *** octave-3.0.0/src/pt-except.cc Fri Oct 12 17:27:33 2007 --- octave-3.0.1/src/pt-except.cc Mon Apr 21 12:00:21 2008 *************** *** 1,7 **** /* Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005, ! 2006, 2007 John W. Eaton This file is part of Octave. --- 1,7 ---- /* Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005, ! 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 96,102 **** --- 96,107 ---- MAYBE_DO_BREAKPOINT; unwind_protect_int (buffer_error_messages); + unwind_protect_bool (Vdebug_on_error); + unwind_protect_bool (Vdebug_on_warning); + buffer_error_messages++; + Vdebug_on_error = false; + Vdebug_on_warning = false; unwind_protect::add (do_catch_code, catch_code); *************** *** 118,124 **** // For clearing the do_catch_code cleanup function. unwind_protect::discard (); ! // For restoring buffer_error_messages. unwind_protect::run (); // Also clear the frame marker. --- 123,132 ---- // For clearing the do_catch_code cleanup function. unwind_protect::discard (); ! // For restoring Vdebug_on_warning, Vdebug_on_error, and ! // buffer_error_messages. ! unwind_protect::run (); ! unwind_protect::run (); unwind_protect::run (); // Also clear the frame marker. diff -cNr octave-3.0.0/src/pt-loop.cc octave-3.0.1/src/pt-loop.cc *** octave-3.0.0/src/pt-loop.cc Fri Oct 12 17:27:33 2007 --- octave-3.0.1/src/pt-loop.cc Mon Apr 21 12:00:21 2008 *************** *** 1,7 **** /* Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005, ! 2006, 2007 John W. Eaton This file is part of Octave. --- 1,7 ---- /* Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005, ! 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 357,369 **** double b = rng.base (); double increment = rng.inc (); bool quit = false; - double tmp_val = b; ! for (octave_idx_type i = 0; i < steps; i++, tmp_val += increment) { MAYBE_DO_BREAKPOINT; ! octave_value val (tmp_val); do_for_loop_once (ult, val, quit); --- 357,377 ---- double b = rng.base (); double increment = rng.inc (); bool quit = false; ! for (octave_idx_type i = 0; i < steps; i++) { MAYBE_DO_BREAKPOINT; ! // Use multiplication here rather than declaring a ! // temporary variable outside the loop and using ! // ! // tmp_val += increment ! // ! // to avoid problems with limited precision. Also, this ! // is consistent with the way Range::matrix_value is ! // implemented. ! ! octave_value val (b + i * increment); do_for_loop_once (ult, val, quit); diff -cNr octave-3.0.0/src/variables.cc octave-3.0.1/src/variables.cc *** octave-3.0.0/src/variables.cc Thu Oct 25 01:50:55 2007 --- octave-3.0.1/src/variables.cc Mon Apr 21 12:00:21 2008 *************** *** 1,7 **** /* Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002, ! 2003, 2004, 2005, 2006, 2007 John W. Eaton This file is part of Octave. --- 1,7 ---- /* Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002, ! 2003, 2004, 2005, 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 906,913 **** DEFUN (exist, args, , "-*- texinfo -*-\n\ @deftypefn {Built-in Function} {} exist (@var{name}, @var{type})\n\ ! Return 1 if the name exists as a variable, 2 if the name (after\n\ ! appending @samp{.m}) is a function file in Octave's @code{path}, 3 if the\n\ name is a @samp{.oct} or @samp{.mex} file in Octave's @code{path},\n\ 5 if the name is a built-in function, 7 if the name is a directory, or 103\n\ if the name is a function not associated with a file (entered on\n\ --- 906,914 ---- DEFUN (exist, args, , "-*- texinfo -*-\n\ @deftypefn {Built-in Function} {} exist (@var{name}, @var{type})\n\ ! Return 1 if the name exists as a variable, 2 if the name is an\n\ ! absolute file name, an ordinary file in Octave's @code{path}, or (after\n\ ! appending @samp{.m}) a function file in Octave's @code{path}, 3 if the\n\ name is a @samp{.oct} or @samp{.mex} file in Octave's @code{path},\n\ 5 if the name is a built-in function, 7 if the name is a directory, or 103\n\ if the name is a function not associated with a file (entered on\n\ *************** *** 2392,2398 **** DEFCMD (clear, args, , "-*- texinfo -*-\n\ ! @deffn {Command} clear [-x] pattern @dots{}\n\ Delete the names matching the given patterns from the symbol table. The\n\ pattern may contain the following special characters:\n\ \n\ --- 2393,2399 ---- DEFCMD (clear, args, , "-*- texinfo -*-\n\ ! @deffn {Command} clear [options] pattern @dots{}\n\ Delete the names matching the given patterns from the symbol table. The\n\ pattern may contain the following special characters:\n\ \n\ *************** *** 2430,2436 **** @code{foo} as a function. Executing @kbd{clear foo} a second time will\n\ clear the function definition.\n\ \n\ ! With -x, clear the variables that don't match the patterns.\n\ @end deffn") { octave_value_list retval; --- 2431,2454 ---- @code{foo} as a function. Executing @kbd{clear foo} a second time will\n\ clear the function definition.\n\ \n\ ! The following options are available in both long and short form\n\ ! @table @code\n\ ! @item -all, -a\n\ ! Clears all local and global user-defined variables and all functions\n\ ! from the symbol table.\n\ ! \n\ ! @item -exclusive, -x\n\ ! Clears the variables that don't match the following pattern.\n\ ! \n\ ! @item -functions, -f\n\ ! Clears the function names and the built-in symbols names.\n\ ! @item -global, -g\n\ ! Clears the global symbol names.\n\ ! @item -variables, -v\n\ ! Clears the local variable names.\n\ ! @end table\n\ ! With the execption of @code{exclusive}, all long options can be used \n\ ! without the dash as well.\n\ @end deffn") { octave_value_list retval; diff -cNr octave-3.0.0/src/version.h octave-3.0.1/src/version.h *** octave-3.0.0/src/version.h Thu Dec 20 15:30:37 2007 --- octave-3.0.1/src/version.h Mon Apr 21 12:01:57 2008 *************** *** 1,7 **** /* Copyright (C) 1992, 1993, 1994, 1996, 1997, 1998, 1999, 2000, 2001, ! 2002, 2003, 2004, 2005, 2006, 2007 John W. Eaton This file is part of Octave. --- 1,7 ---- /* Copyright (C) 1992, 1993, 1994, 1996, 1997, 1998, 1999, 2000, 2001, ! 2002, 2003, 2004, 2005, 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 24,36 **** #if !defined (octave_version_h) #define octave_version_h 1 ! #define OCTAVE_VERSION "3.0.0" #define OCTAVE_API_VERSION "api-v32" ! #define OCTAVE_RELEASE_DATE "2007-12-21" ! #define OCTAVE_COPYRIGHT "Copyright (C) 2007 John W. Eaton and others." // This is the first line printed by --version. The GNU coding // standards say that the version number should follow the last space --- 24,36 ---- #if !defined (octave_version_h) #define octave_version_h 1 ! #define OCTAVE_VERSION "3.0.1" #define OCTAVE_API_VERSION "api-v32" ! #define OCTAVE_RELEASE_DATE "2008-12-21" ! #define OCTAVE_COPYRIGHT "Copyright (C) 2008 John W. Eaton and others." // This is the first line printed by --version. The GNU coding // standards say that the version number should follow the last space diff -cNr octave-3.0.0/src/xpow.cc octave-3.0.1/src/xpow.cc *** octave-3.0.0/src/xpow.cc Fri Oct 12 17:27:34 2007 --- octave-3.0.1/src/xpow.cc Mon Apr 21 12:00:21 2008 *************** *** 1,7 **** /* Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2002, 2003, ! 2004, 2005, 2006, 2007 John W. Eaton This file is part of Octave. --- 1,7 ---- /* Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2002, 2003, ! 2004, 2005, 2006, 2007, 2008 John W. Eaton This file is part of Octave. *************** *** 73,78 **** --- 73,80 ---- octave_value xpow (double a, double b) { + double retval; + if (a < 0.0 && static_cast (b) != b) { Complex atmp (a); *************** *** 80,86 **** return std::pow (atmp, b); } else ! return std::pow (a, b); } // -*- 2 -*- --- 82,90 ---- return std::pow (atmp, b); } else ! retval = std::pow (a, b); ! ! return retval; } // -*- 2 -*- *************** *** 97,116 **** else { EIG b_eig (b); - ComplexColumnVector lambda (b_eig.eigenvalues ()); - ComplexMatrix Q (b_eig.eigenvectors ()); ! for (octave_idx_type i = 0; i < nr; i++) { ! Complex elt = lambda (i); ! if (std::imag (elt) == 0.0) ! lambda (i) = std::pow (a, std::real (elt)); ! else ! lambda (i) = std::pow (a, elt); ! } ! ComplexDiagMatrix D (lambda); ! retval = ComplexMatrix (Q * D * Q.inverse ()); } return retval; --- 101,126 ---- else { EIG b_eig (b); ! if (! error_state) { ! ComplexColumnVector lambda (b_eig.eigenvalues ()); ! ComplexMatrix Q (b_eig.eigenvectors ()); ! ! for (octave_idx_type i = 0; i < nr; i++) ! { ! Complex elt = lambda(i); ! if (std::imag (elt) == 0.0) ! lambda(i) = std::pow (a, std::real (elt)); ! else ! lambda(i) = std::pow (a, elt); ! } ! ComplexDiagMatrix D (lambda); ! retval = ComplexMatrix (Q * D * Q.inverse ()); ! } ! else ! error ("xpow: matrix diagonalization failed"); } return retval; *************** *** 140,159 **** else { EIG b_eig (b); - ComplexColumnVector lambda (b_eig.eigenvalues ()); - ComplexMatrix Q (b_eig.eigenvectors ()); ! for (octave_idx_type i = 0; i < nr; i++) { ! Complex elt = lambda (i); ! if (std::imag (elt) == 0.0) ! lambda (i) = std::pow (a, std::real (elt)); ! else ! lambda (i) = std::pow (a, elt); ! } ! ComplexDiagMatrix D (lambda); ! retval = ComplexMatrix (Q * D * Q.inverse ()); } return retval; --- 150,175 ---- else { EIG b_eig (b); ! if (! error_state) { ! ComplexColumnVector lambda (b_eig.eigenvalues ()); ! ComplexMatrix Q (b_eig.eigenvectors ()); ! ! for (octave_idx_type i = 0; i < nr; i++) ! { ! Complex elt = lambda(i); ! if (std::imag (elt) == 0.0) ! lambda(i) = std::pow (a, std::real (elt)); ! else ! lambda(i) = std::pow (a, elt); ! } ! ComplexDiagMatrix D (lambda); ! retval = ComplexMatrix (Q * D * Q.inverse ()); ! } ! else ! error ("xpow: matrix diagonalization failed"); } return retval; *************** *** 224,238 **** else { EIG a_eig (a); - ComplexColumnVector lambda (a_eig.eigenvalues ()); - ComplexMatrix Q (a_eig.eigenvectors ()); ! for (octave_idx_type i = 0; i < nr; i++) ! lambda (i) = std::pow (lambda (i), b); ! ComplexDiagMatrix D (lambda); ! retval = ComplexMatrix (Q * D * Q.inverse ()); } } --- 240,260 ---- else { EIG a_eig (a); ! if (! error_state) ! { ! ComplexColumnVector lambda (a_eig.eigenvalues ()); ! ComplexMatrix Q (a_eig.eigenvectors ()); ! for (octave_idx_type i = 0; i < nr; i++) ! lambda(i) = std::pow (lambda(i), b); ! ComplexDiagMatrix D (lambda); ! ! retval = ComplexMatrix (Q * D * Q.inverse ()); ! } ! else ! error ("xpow: matrix diagonalization failed"); } } *************** *** 253,267 **** else { EIG a_eig (a); - ComplexColumnVector lambda (a_eig.eigenvalues ()); - ComplexMatrix Q (a_eig.eigenvectors ()); ! for (octave_idx_type i = 0; i < nr; i++) ! lambda (i) = std::pow (lambda (i), b); ! ComplexDiagMatrix D (lambda); ! retval = ComplexMatrix (Q * D * Q.inverse ()); } return retval; --- 275,295 ---- else { EIG a_eig (a); ! if (! error_state) ! { ! ComplexColumnVector lambda (a_eig.eigenvalues ()); ! ComplexMatrix Q (a_eig.eigenvectors ()); ! ! for (octave_idx_type i = 0; i < nr; i++) ! lambda(i) = std::pow (lambda(i), b); ! ComplexDiagMatrix D (lambda); ! retval = ComplexMatrix (Q * D * Q.inverse ()); ! } ! else ! error ("xpow: matrix diagonalization failed"); } return retval; *************** *** 295,314 **** else { EIG b_eig (b); - ComplexColumnVector lambda (b_eig.eigenvalues ()); - ComplexMatrix Q (b_eig.eigenvectors ()); ! for (octave_idx_type i = 0; i < nr; i++) { ! Complex elt = lambda (i); ! if (std::imag (elt) == 0.0) ! lambda (i) = std::pow (a, std::real (elt)); ! else ! lambda (i) = std::pow (a, elt); ! } ! ComplexDiagMatrix D (lambda); ! retval = ComplexMatrix (Q * D * Q.inverse ()); } return retval; --- 323,348 ---- else { EIG b_eig (b); ! if (! error_state) { ! ComplexColumnVector lambda (b_eig.eigenvalues ()); ! ComplexMatrix Q (b_eig.eigenvectors ()); ! for (octave_idx_type i = 0; i < nr; i++) ! { ! Complex elt = lambda(i); ! if (std::imag (elt) == 0.0) ! lambda(i) = std::pow (a, std::real (elt)); ! else ! lambda(i) = std::pow (a, elt); ! } ! ComplexDiagMatrix D (lambda); ! ! retval = ComplexMatrix (Q * D * Q.inverse ()); ! } ! else ! error ("xpow: matrix diagonalization failed"); } return retval; *************** *** 337,356 **** else { EIG b_eig (b); - ComplexColumnVector lambda (b_eig.eigenvalues ()); - ComplexMatrix Q (b_eig.eigenvectors ()); ! for (octave_idx_type i = 0; i < nr; i++) { ! Complex elt = lambda (i); ! if (std::imag (elt) == 0.0) ! lambda (i) = std::pow (a, std::real (elt)); ! else ! lambda (i) = std::pow (a, elt); ! } ! ComplexDiagMatrix D (lambda); ! retval = ComplexMatrix (Q * D * Q.inverse ()); } return retval; --- 371,396 ---- else { EIG b_eig (b); ! if (! error_state) { ! ComplexColumnVector lambda (b_eig.eigenvalues ()); ! ComplexMatrix Q (b_eig.eigenvectors ()); ! ! for (octave_idx_type i = 0; i < nr; i++) ! { ! Complex elt = lambda(i); ! if (std::imag (elt) == 0.0) ! lambda(i) = std::pow (a, std::real (elt)); ! else ! lambda(i) = std::pow (a, elt); ! } ! ComplexDiagMatrix D (lambda); ! retval = ComplexMatrix (Q * D * Q.inverse ()); ! } ! else ! error ("xpow: matrix diagonalization failed"); } return retval; *************** *** 421,435 **** else { EIG a_eig (a); - ComplexColumnVector lambda (a_eig.eigenvalues ()); - ComplexMatrix Q (a_eig.eigenvectors ()); ! for (octave_idx_type i = 0; i < nr; i++) ! lambda (i) = std::pow (lambda (i), b); ! ComplexDiagMatrix D (lambda); ! retval = ComplexMatrix (Q * D * Q.inverse ()); } } --- 461,481 ---- else { EIG a_eig (a); ! if (! error_state) ! { ! ComplexColumnVector lambda (a_eig.eigenvalues ()); ! ComplexMatrix Q (a_eig.eigenvectors ()); ! for (octave_idx_type i = 0; i < nr; i++) ! lambda(i) = std::pow (lambda(i), b); ! ComplexDiagMatrix D (lambda); ! ! retval = ComplexMatrix (Q * D * Q.inverse ()); ! } ! else ! error ("xpow: matrix diagonalization failed"); } } *************** *** 450,464 **** else { EIG a_eig (a); - ComplexColumnVector lambda (a_eig.eigenvalues ()); - ComplexMatrix Q (a_eig.eigenvectors ()); ! for (octave_idx_type i = 0; i < nr; i++) ! lambda (i) = std::pow (lambda (i), b); ! ComplexDiagMatrix D (lambda); ! retval = ComplexMatrix (Q * D * Q.inverse ()); } return retval; --- 496,516 ---- else { EIG a_eig (a); ! if (! error_state) ! { ! ComplexColumnVector lambda (a_eig.eigenvalues ()); ! ComplexMatrix Q (a_eig.eigenvectors ()); ! ! for (octave_idx_type i = 0; i < nr; i++) ! lambda(i) = std::pow (lambda(i), b); ! ComplexDiagMatrix D (lambda); ! retval = ComplexMatrix (Q * D * Q.inverse ()); ! } ! else ! error ("xpow: matrix diagonalization failed"); } return retval; diff -cNr octave-3.0.0/test/ChangeLog octave-3.0.1/test/ChangeLog *** octave-3.0.0/test/ChangeLog Fri Dec 21 12:46:17 2007 --- octave-3.0.1/test/ChangeLog Mon Apr 21 12:02:34 2008 *************** *** 1,3 **** --- 1,32 ---- + 2008-04-21 John W. Eaton + + Version 3.0.1 released. + + 2008-04-09 Michael Goffioul + + * test_string.m: Fix isprint test under Win32, where + isprint(setstr(9)) is true. + * test_system.m: Add condition for various syscall tests. Make cd test + able to deal with drive-letter-only pathnames (e.g. C:\) under Win32. + + 2008-03-26 David Bateman + + * test_index-wfi-f.m: Split large block of tests. New tests. + + 2008-03-26 John W. Eaton + + * test_index-wfi-f.m: New tests. + + 2008-03-07 John W. Eaton + + * test_logical-wfi-t.m, test_logical-wfi-f.m: Update tests for + logical indexing bug fix. + + 2008-03-06 John W. Eaton + + * test_string.m: Delete obsolete test for deblank. + * test_linalg.m: Delete obsolete test for cond. + 2007-12-21 John W. Eaton Version 3.0.0 released. diff -cNr octave-3.0.0/test/test_arith.m octave-3.0.1/test/test_arith.m *** octave-3.0.0/test/test_arith.m Fri Oct 12 17:27:36 2007 --- octave-3.0.1/test/test_arith.m Mon Apr 21 12:00:22 2008 *************** *** 1,4 **** ! ## Copyright (C) 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 160,191 **** %! s.a = 1; %! fail("lcm (s)"); - %% test/octave.test/arith/max-1.m - %!assert (max ([1, 4, 2, 3]) == 4); - %!assert (max ([1; -10; 5; -2]) == 5); - - %% test/octave.test/arith/max-2.m - %!assert(all (max ([4, i 4.999; -2, 2, 3+4i]) == [4, 2, 3+4i])); - - %% test/octave.test/arith/max-3.m - %!error max (); - - %% test/octave.test/arith/max-4.m - %!error max (1, 2, 3, 4); - - %% test/octave.test/arith/min-1.m - %!assert (min ([1, 4, 2, 3]) == 1); - %!assert (min ([1; -10; 5; -2]) == -10); - - %% test/octave.test/arith/min-2.m - %!assert(all (min ([4, i; -2, 2]) == [-2, i])); - - %% test/octave.test/arith/min-3.m - %!error min (); - - %% test/octave.test/arith/min-4.m - %!error min (1, 2, 3, 4); - %% test/octave.test/arith/pow2-1.m %!test %! x = [3, 0, -3]; --- 160,165 ---- diff -cNr octave-3.0.0/test/test_index-wfi-f.m octave-3.0.1/test/test_index-wfi-f.m *** octave-3.0.0/test/test_index-wfi-f.m Fri Oct 12 17:27:37 2007 --- octave-3.0.1/test/test_index-wfi-f.m Mon Apr 21 12:00:22 2008 *************** *** 1,4 **** ! ## Copyright (C) 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 24,30 **** %! warning ("off", "Octave:fortran-indexing"); %! a = []; %! assert(isempty (a)); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-2.m %!test --- 24,30 ---- %! warning ("off", "Octave:fortran-indexing"); %! a = []; %! assert(isempty (a)); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-2.m %!test *************** *** 32,38 **** %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! assert(a(1),1); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-3.m %!test --- 32,38 ---- %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! assert(a(1),1); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-3.m %!test *************** *** 40,46 **** %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! assert(a(:),1); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-4.m %!test --- 40,46 ---- %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! assert(a(:),1); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-4.m %!test *************** *** 48,54 **** %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! assert(a(:,:),1); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-5.m %!test --- 48,54 ---- %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! assert(a(:,:),1); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-5.m %!test *************** *** 56,62 **** %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! assert(a(1,:),1); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-6.m %!test --- 56,62 ---- %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! assert(a(1,:),1); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-6.m %!test *************** *** 64,70 **** %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! assert(a(:,1),1); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-7.m %!test --- 64,70 ---- %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! assert(a(:,1),1); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-7.m %!test *************** *** 72,78 **** %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! assert(isempty (a(logical (0)))); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-8.m %!test --- 72,78 ---- %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! assert(isempty (a(logical (0)))); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-8.m %!test *************** *** 80,86 **** %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! fail("a(-1)"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-9.m %!test --- 80,86 ---- %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! fail("a(-1)"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-9.m %!test *************** *** 88,94 **** %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! fail("a(2);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-10.m %!test --- 88,94 ---- %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! fail("a(2);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-10.m %!test *************** *** 96,102 **** %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! fail("a(2,:);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-11.m %!test --- 96,102 ---- %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! fail("a(2,:);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-11.m %!test *************** *** 104,110 **** %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! fail("a(:,2);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-12.m %!test --- 104,110 ---- %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! fail("a(:,2);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-12.m %!test *************** *** 112,118 **** %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! fail("a(-1,:);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-13.m %!test --- 112,118 ---- %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! fail("a(-1,:);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-13.m %!test *************** *** 120,126 **** %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! fail("a(:,-1);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-14.m %!test --- 120,126 ---- %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! fail("a(:,-1);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-14.m %!test *************** *** 128,134 **** %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! fail("a([1,2,3]);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-15.m %!test --- 128,134 ---- %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! fail("a([1,2,3]);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-15.m %!test *************** *** 136,142 **** %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! fail("a([1;2;3]);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-16.m %!test --- 136,142 ---- %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! fail("a([1;2;3]);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-16.m %!test *************** *** 144,150 **** %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! fail("a([1,2;3,4]);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-17.m %!test --- 144,150 ---- %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! fail("a([1,2;3,4]);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-17.m %!test *************** *** 152,158 **** %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! fail("a([0,1]);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-18.m %!test --- 152,158 ---- %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! fail("a([0,1]);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-18.m %!test *************** *** 160,166 **** %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! fail("a([0;1]);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-19.m %!test --- 160,166 ---- %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! fail("a([0;1]);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-19.m %!test *************** *** 168,174 **** %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! fail("a([-1,0]);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-20.m %!test --- 168,174 ---- %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! fail("a([-1,0]);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/s-20.m %!test *************** *** 176,182 **** %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! fail("a([-1;0]);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/v-1.m %!test --- 176,182 ---- %! warning ("off", "Octave:fortran-indexing"); %! a = 1; %! fail("a([-1;0]);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/v-1.m %!test *************** *** 186,192 **** %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(a(1),4); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/v-2.m %!test --- 186,192 ---- %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(a(1),4); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/v-2.m %!test *************** *** 196,202 **** %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(a(2),3); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/v-3.m %!test --- 196,202 ---- %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(a(2),3); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/v-3.m %!test *************** *** 206,212 **** %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(all (a(:) == a_prime)); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/v-4.m %!test --- 206,212 ---- %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(all (a(:) == a_prime)); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/v-4.m %!test *************** *** 216,222 **** %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(all (a(1,:) == a)); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/v-5.m %!test --- 216,222 ---- %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(all (a(1,:) == a)); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/v-5.m %!test *************** *** 226,232 **** %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(a(:,3),2); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/v-6.m %!test --- 226,232 ---- %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(a(:,3),2); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/v-6.m %!test *************** *** 236,242 **** %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(all (a(:,:) == a)); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/v-7.m %!test --- 236,242 ---- %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(all (a(:,:) == a)); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/v-7.m %!test *************** *** 246,252 **** %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(all (a(logical ([0,1,1,0])) == mid_a)); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/v-8.m %!test --- 246,252 ---- %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(all (a(logical ([0,1,1,0])) == mid_a)); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/v-8.m %!test *************** *** 256,262 **** %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! fail("a(0);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/v-9.m %!test --- 256,262 ---- %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! fail("a(0);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/v-9.m %!test *************** *** 266,272 **** %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! fail("a(5);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/v-10.m %!test --- 266,272 ---- %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! fail("a(5);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/v-10.m %!test *************** *** 276,282 **** %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! fail("a(0,1);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/v-11.m %!test --- 276,282 ---- %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! fail("a(0,1);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/v-11.m %!test *************** *** 286,292 **** %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(isempty (a(logical (0),:))); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/v-12.m %!test --- 286,292 ---- %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(isempty (a(logical (0),:))); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/v-12.m %!test *************** *** 296,302 **** %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! fail("a(:,0);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/v-13.m %!test --- 296,302 ---- %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! fail("a(:,0);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/v-13.m %!test *************** *** 306,312 **** %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(isempty (a([]))); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/v-14.m %!test --- 306,312 ---- %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(isempty (a([]))); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/v-14.m %!test *************** *** 316,322 **** %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(isempty (a([],:))); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/v-15.m %!test --- 316,322 ---- %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(isempty (a([],:))); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/v-15.m %!test *************** *** 326,332 **** %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(isempty (a(:,[]))); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/m-1.m %!test --- 326,332 ---- %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(isempty (a(:,[]))); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/m-1.m %!test *************** *** 339,345 **** %! a_row_1 = [1,2]; %! a_row_2 = [3,4]; %! assert(all (all (a(:,:) == a))); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/m-2.m %!test --- 339,345 ---- %! a_row_1 = [1,2]; %! a_row_2 = [3,4]; %! assert(all (all (a(:,:) == a))); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/m-2.m %!test *************** *** 352,358 **** %! a_row_1 = [1,2]; %! a_row_2 = [3,4]; %! assert(all (a(:) == a_fvec)); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/m-3.m %!test --- 352,358 ---- %! a_row_1 = [1,2]; %! a_row_2 = [3,4]; %! assert(all (a(:) == a_fvec)); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/m-3.m %!test *************** *** 365,371 **** %! a_row_1 = [1,2]; %! a_row_2 = [3,4]; %! fail("a(0);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/m-4.m %!test --- 365,371 ---- %! a_row_1 = [1,2]; %! a_row_2 = [3,4]; %! fail("a(0);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-f/m-4.m %!test *************** *** 378,446 **** %! a_row_1 = [1,2]; %! a_row_2 = [3,4]; %! assert(a(2),3); ! %! warning ("wfi.state", "Octave:fortran-indexing"); ! %% test/octave.test/index-wfi-f/misc.m ! %!test ! %! wfi = warning ("query", "Octave:fortran-indexing"); ! %! warning ("off", "Octave:fortran-indexing"); %! a = [1,2;3,4]; %! b = a; %! b(:,:,2) = [5,6;7,8]; ! %! a1 = [1; 3; 2; 4]; ! %! a2 = [1, 3]; ! %! a3 = [1, 2; 3, 4]; ! %! a4 = [1; 3]; ! %! a5 = 1; ! %! a6 = [1; 3]; ! %! a7 = [1, 2; 3, 4]; ! %! a8(:,:,1) = [1, 2; 3, 4]; ! %! a8(:,:,2) = [1, 2; 3, 4]; ! %! a9(:,:,1,1) = [1, 2; 3, 4]; ! %! a9(:,:,1,2) = [1, 2; 3, 4]; ! %! a10(:,:,1,1) = [1, 2; 3, 4]; ! %! a10(:,:,2,1) = [1, 2; 3, 4]; ! %! a10(:,:,1,2) = [1, 2; 3, 4]; ! %! a10(:,:,2,2) = [1, 2; 3, 4]; ! %! a11 = zeros (1, 0); ! %! a12 = zeros (1, 0, 2); ! %! a13 = zeros (1, 1, 0); ! %! b1 = [1; 3; 2; 4; 5; 7; 6; 8]; ! %! b2 = [1, 2, 5, 6; 3, 4, 7, 8]; ! %! b3 = [1; 3]; ! %! b4(:,:,1) = [1, 2; 3, 4]; ! %! b4(:,:,2) = [5, 6; 7, 8]; ! %! b5 = [1; 3]; ! %! b6(:,:,1,1) = [1; 3]; ! %! b6(:,:,1,2) = [1; 3]; ! %! b7 = 5; ! %! b8 = [5, 6]; ! %! b9 = [1, 2, 5, 6]; ! %! b10 = zeros (1, 0, 2); ! %! b11 = zeros (1, 0); ! %! ! %! assert(a(:),a1); ! %! assert(a(1:2), a2); ! %! assert(a(:,:), a3); ! %! assert(a(:,1), a4); ! %! assert(a(1,1), a5); ! %! assert(a(1:2,1), a6); ! %! assert(a(:,:,1), a7); ! %! assert(a(:,:,[1,1]), a8); ! %! assert(a(:,:,1,[1,1]), a9); ! %! assert(a(:,:,[1,1],[1,1]), a10); ! %! assert(a(1,[]), a11); ! %! assert(a(1,[],[1,1]), a12); ! %! assert(a(1,1,[]), a13); ! %! assert(b(:), b1); ! %! assert(b(:,:), b2); ! %! assert(b(:,1), b3); ! %! assert(b(:,:,:), b4); ! %! assert(b(:,1,1), b5); ! %! assert(b(:,1,1,[1,1]), b6); ! %! assert(b(1,3), b7); ! %! assert(b(1,[3,4]), b8); ! %! assert(b(1,1:4), b9); ! %! assert(b(1,[],:), b10); ! %! assert(b(1,[]), b11); ! %! warning ("wfi.state", "Octave:fortran-indexing"); --- 378,509 ---- %! a_row_1 = [1,2]; %! a_row_2 = [3,4]; %! assert(a(2),3); ! %! warning (wfi.state, "Octave:fortran-indexing"); ! %% Additional tests ! %!shared a, b %! a = [1,2;3,4]; %! b = a; %! b(:,:,2) = [5,6;7,8]; ! ! %!assert (a(:), [1;3;2;4]); ! %!assert (a(1:2), [1,3]); ! %!assert (a(:,:), [1,2;3,4]); ! %!assert (a(:,1), [1;3]); ! %!assert (a(1,1), 1); ! %!assert (a(1:2,1), [1;3]); ! %!assert (a(:,:,1), [1,2;3,4]); ! ! %!test ! %! c(:,:,1) = [1,2;3,4]; ! %! c(:,:,2) = [1,2;3,4]; ! %! assert (a(:,:,[1,1]),c) ! ! %!test ! %! c(:,:,1,1) = [1,2;3,4]; ! %! c(:,:,1,2) = [1,2;3,4]; ! %! assert (a(:,:,1,[1,1]),c) ! ! %!test ! %! c(:,:,1,1) = [1,2;3,4]; ! %! c(:,:,2,1) = [1,2;3,4]; ! %! c(:,:,1,2) = [1,2;3,4]; ! %! c(:,:,2,2) = [1,2;3,4]; ! %! assert (a(:,:,[1,1],[1,1]),c) ! ! %!assert (a(1,[]), zeros(1,0)); ! %!assert (a(1,[],[1,1]), zeros(1,0,2)); ! %!assert (a(1,1,[]), zeros(1,1,0)); ! ! %!test ! %! c (1:10,1) = 1:10; ! %! assert (c, [1:10]'); ! ! %!assert (b(:), [1; 3; 2; 4; 5; 7; 6; 8]); ! %!assert (b(:,:), [1, 2, 5, 6; 3, 4, 7, 8]); ! %!assert (b(:,1), [1;3]); ! %!assert (b(:,:,:), reshape ([1,3,2,4,5,7,6,8],[2,2,2])); ! %!assert (b(:,1,1), [1;3]); ! %!assert (b(:,1,1,[1,1]),reshape([1,3,1,3],[2,1,1,2])); ! %!assert (b(1,3), 5); ! %!assert (b(1,[3,4]), [5,6]); ! %!assert (b(1,1:4), [1,2,5,6]); ! %!assert (b(1,[],:), zeros (1,0,2)); ! %!assert (b(1,[]), zeros(1,0)); ! %!assert (b(:,3), [5;7]) ! %!assert (b([1,2],3), [5;7]) ! %!assert (b(true(2,1),3), [5;7]) ! %!assert (b(false(2,1),3), zeros(0,1)) ! %!assert (b([],3), zeros(0,1)); ! ! %!shared x ! %! # Dummy shared block to clear any previous definitions ! %! x = 1; ! ! %!test ! %! a(1,:) = [1,3]; ! %! assert (a, [1,3]); ! ! %!test ! %! a(1,:) = [1;3]; ! %! assert (a, [1,3]); ! ! %!test ! %! a(:,1) = [1;3]; ! %! assert (a, [1;3]); ! ! %!test ! %! a = [1,2;3,4]; ! %! b (1,:,:) = a; ! %! assert (b, reshape (a, [1,2,2])); ! ! %!test ! %! a(1,1:4,2) = reshape (1:4, [1,1,4]); ! %! b(:,:,2) = 1:4; ! %! assert (a, b); ! ! %!test ! %! a(:,:,:) = 1:4; ! %! assert (a, [1:4]); ! ! %!test ! %! a(:,:,1) = 1:4;; ! %! assert (a, [1:4]); ! ! %!test ! %! a(:,:,1) = [1:4]'; ! %! assert (a, [1:4]'); ! ! %!test ! %! a(:,:,1) = reshape(1:4,[1,1,4]); ! %! assert (a, [1:4]'); ! ! %!test ! %! a(:,1,:) = 1:4; ! %! assert (a, reshape (1:4,[1,1,4])); ! ! %!test ! %! a(:,1,:) = [1:4]'; ! %! assert (a, [1:4]'); ! ! %!test ! %! a(:,1,:) = reshape(1:4,[1,1,4]);; ! %! assert (a, [1:4]'); ! ! %!test ! %! a(1,:,:) = 1:4; ! %! assert (a, reshape (1:4,[1,1,4])); ! ! %!test ! %! a(1,:,:) = [1:4]'; ! %! assert (a, [1:4]); ! ! %!test ! %! a(1,:,:) = reshape(1:4,[1,1,4]); ! %! assert (a, [1:4]); ! ! %!test ! %! a(1,:,:,:) = reshape(1:4,[1,1,4]); ! %! assert (a, reshape (1:4,[1,1,1,4])); ! ! %!error (a(1:2,1:2) = 1:4) diff -cNr octave-3.0.0/test/test_index-wfi-t.m octave-3.0.1/test/test_index-wfi-t.m *** octave-3.0.0/test/test_index-wfi-t.m Fri Oct 12 17:27:37 2007 --- octave-3.0.1/test/test_index-wfi-t.m Mon Apr 21 12:00:22 2008 *************** *** 1,4 **** ! ## Copyright (C) 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 24,30 **** %! warn_fortran_indexing = 1; %! a = []; %! assert(isempty (a)); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-2.m %!test --- 24,30 ---- %! warn_fortran_indexing = 1; %! a = []; %! assert(isempty (a)); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-2.m %!test *************** *** 32,38 **** %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! assert(a(1),1); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-3.m %!test --- 32,38 ---- %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! assert(a(1),1); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-3.m %!test *************** *** 40,46 **** %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! assert(a(:),1); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-4.m %!test --- 40,46 ---- %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! assert(a(:),1); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-4.m %!test *************** *** 48,54 **** %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! assert(a(:,:),1); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-5.m %!test --- 48,54 ---- %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! assert(a(:,:),1); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-5.m %!test *************** *** 56,62 **** %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! assert(a(1,:),1); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-6.m %!test --- 56,62 ---- %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! assert(a(1,:),1); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-6.m %!test *************** *** 64,70 **** %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! assert(a(:,1),1); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-7.m %!test --- 64,70 ---- %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! assert(a(:,1),1); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-7.m %!test *************** *** 72,78 **** %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! assert(isempty (a(logical (0)))); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-8.m %!test --- 72,78 ---- %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! assert(isempty (a(logical (0)))); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-8.m %!test *************** *** 80,86 **** %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! fail("a(-1);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-9.m %!test --- 80,86 ---- %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! fail("a(-1);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-9.m %!test *************** *** 88,94 **** %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! fail("a(2);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-10.m %!test --- 88,94 ---- %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! fail("a(2);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-10.m %!test *************** *** 96,102 **** %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! fail("a(2,:);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-11.m %!test --- 96,102 ---- %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! fail("a(2,:);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-11.m %!test *************** *** 104,110 **** %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! fail("a(:,2);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-12.m %!test --- 104,110 ---- %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! fail("a(:,2);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-12.m %!test *************** *** 112,118 **** %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! fail("a(-1,:);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-13.m %!test --- 112,118 ---- %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! fail("a(-1,:);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-13.m %!test *************** *** 120,126 **** %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! fail("a(:,-1);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-14.m %!test --- 120,126 ---- %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! fail("a(:,-1);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-14.m %!test *************** *** 128,134 **** %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! fail("a([1,2,3]);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-15.m %!test --- 128,134 ---- %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! fail("a([1,2,3]);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-15.m %!test *************** *** 136,142 **** %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! fail("a([1;2;3]);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-16.m %!test --- 136,142 ---- %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! fail("a([1;2;3]);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-16.m %!test *************** *** 144,150 **** %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! fail("a([1,2;3,4]);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-17.m %!test --- 144,150 ---- %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! fail("a([1,2;3,4]);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-17.m %!test *************** *** 152,158 **** %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! fail("a([0,1]);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-18.m %!test --- 152,158 ---- %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! fail("a([0,1]);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-18.m %!test *************** *** 160,166 **** %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! fail("a([0;1]);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-19.m %!test --- 160,166 ---- %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! fail("a([0;1]);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-19.m %!test *************** *** 168,174 **** %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! fail("a([-1,0]);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-20.m %!test --- 168,174 ---- %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! fail("a([-1,0]);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/s-20.m %!test *************** *** 176,182 **** %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! fail("a([-1;0]);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/v-1.m %!test --- 176,182 ---- %! warning ("on", "Octave:fortran-indexing"); %! a = 1; %! fail("a([-1;0]);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/v-1.m %!test *************** *** 186,192 **** %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(a(1),4); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/v-2.m %!test --- 186,192 ---- %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(a(1),4); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/v-2.m %!test *************** *** 196,202 **** %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(a(2),3); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/v-3.m %!test --- 196,202 ---- %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(a(2),3); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/v-3.m %!test *************** *** 206,212 **** %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(all (a(:) == a_prime)); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/v-4.m %!test --- 206,212 ---- %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(all (a(:) == a_prime)); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/v-4.m %!test *************** *** 216,222 **** %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(all (a(1,:) == a)); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/v-5.m %!test --- 216,222 ---- %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(all (a(1,:) == a)); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/v-5.m %!test *************** *** 226,232 **** %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(a(:,3),2); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/v-6.m %!test --- 226,232 ---- %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(a(:,3),2); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/v-6.m %!test *************** *** 236,242 **** %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(all (a(:,:) == a)); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/v-7.m %!test --- 236,242 ---- %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(all (a(:,:) == a)); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/v-7.m %!test *************** *** 246,252 **** %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(all (a(logical ([0,1,1,0])) == mid_a)); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/v-8.m %!test --- 246,252 ---- %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(all (a(logical ([0,1,1,0])) == mid_a)); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/v-8.m %!test *************** *** 256,262 **** %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! fail("a(0);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/v-9.m %!test --- 256,262 ---- %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! fail("a(0);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/v-9.m %!test *************** *** 266,272 **** %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! fail("a(5);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/v-10.m %!test --- 266,272 ---- %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! fail("a(5);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/v-10.m %!test *************** *** 276,282 **** %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! fail("a(0,1);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/v-11.m %!test --- 276,282 ---- %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! fail("a(0,1);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/v-11.m %!test *************** *** 286,292 **** %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(isempty (a(logical (0),:))); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/v-12.m %!test --- 286,292 ---- %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(isempty (a(logical (0),:))); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/v-12.m %!test *************** *** 296,302 **** %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! fail("a(:,0);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/v-13.m %!test --- 296,302 ---- %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! fail("a(:,0);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/v-13.m %!test *************** *** 306,312 **** %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(isempty (a([]))); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/v-14.m %!test --- 306,312 ---- %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(isempty (a([]))); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/v-14.m %!test *************** *** 316,322 **** %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(isempty (a([],:))); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/v-15.m %!test --- 316,322 ---- %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(isempty (a([],:))); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/v-15.m %!test *************** *** 326,332 **** %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(isempty (a(:,[]))); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/m-1.m %!test --- 326,332 ---- %! a_prime = [4;3;2;1]; %! mid_a = [3,2]; %! assert(isempty (a(:,[]))); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/m-1.m %!test *************** *** 339,345 **** %! a_row_1 = [1,2]; %! a_row_2 = [3,4]; %! assert(all (all (a(:,:) == a))); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/m-2.m %!test --- 339,345 ---- %! a_row_1 = [1,2]; %! a_row_2 = [3,4]; %! assert(all (all (a(:,:) == a))); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/m-2.m %!test *************** *** 352,358 **** %! a_row_1 = [1,2]; %! a_row_2 = [3,4]; %! assert(all (a(:) == a_fvec)); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/m-3.m %!test --- 352,358 ---- %! a_row_1 = [1,2]; %! a_row_2 = [3,4]; %! assert(all (a(:) == a_fvec)); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/m-3.m %!test *************** *** 365,371 **** %! a_row_1 = [1,2]; %! a_row_2 = [3,4]; %! fail("a(0);"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/m-4.m %!test --- 365,371 ---- %! a_row_1 = [1,2]; %! a_row_2 = [3,4]; %! fail("a(0);"); ! %! warning (wfi.state, "Octave:fortran-indexing"); %% test/octave.test/index-wfi-t/m-4.m %!test *************** *** 378,381 **** %! a_row_1 = [1,2]; %! a_row_2 = [3,4]; %! fail("a(2);","warning"); ! %! warning ("wfi.state", "Octave:fortran-indexing"); --- 378,381 ---- %! a_row_1 = [1,2]; %! a_row_2 = [3,4]; %! fail("a(2);","warning"); ! %! warning (wfi.state, "Octave:fortran-indexing"); diff -cNr octave-3.0.0/test/test_linalg.m octave-3.0.1/test/test_linalg.m *** octave-3.0.0/test/test_linalg.m Fri Oct 12 17:27:37 2007 --- octave-3.0.1/test/test_linalg.m Mon Apr 21 12:00:22 2008 *************** *** 1,4 **** ! ## Copyright (C) 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 27,35 **** %% test/octave.test/linalg/cond-3.m %!error cond (); - %% test/octave.test/linalg/cond-4.m - %!error cond (1, 2); - %% test/octave.test/linalg/det-1.m %!assert(det ([1, 2; 3, 4]) == -2); --- 27,32 ---- *************** *** 239,245 **** %% test/octave.test/linalg/qr-7.m %!function retval = testqr (q, r, a, p) ! %! tol = 10*eps; %! retval = 0; %! if (nargin == 3) %! n1 = norm (q*r-a); --- 236,242 ---- %% test/octave.test/linalg/qr-7.m %!function retval = testqr (q, r, a, p) ! %! tol = 100*eps; %! retval = 0; %! if (nargin == 3) %! n1 = norm (q*r-a); diff -cNr octave-3.0.0/test/test_logical-wfi-f.m octave-3.0.1/test/test_logical-wfi-f.m *** octave-3.0.0/test/test_logical-wfi-f.m Fri Oct 12 17:27:37 2007 --- octave-3.0.1/test/test_logical-wfi-f.m Mon Apr 21 12:00:22 2008 *************** *** 1,4 **** ! ## Copyright (C) 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 46,53 **** %!test %! wfi = warning ("query", "Octave:fortran-indexing"); %! warning ("off", "Octave:fortran-indexing"); ! %! a = 2; ! %! assert(all (a(logical ([1,1])) == [2,2])); %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/logical-wfi-f/v-1.m --- 46,54 ---- %!test %! wfi = warning ("query", "Octave:fortran-indexing"); %! warning ("off", "Octave:fortran-indexing"); ! %!shared a ! %! a = 2; ! %!error a(logical ([1,1])); %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/logical-wfi-f/v-1.m *************** *** 79,85 **** %! wfi = warning ("query", "Octave:fortran-indexing"); %! warning ("off", "Octave:fortran-indexing"); %! a = [9,8,7,6]; ! %! assert(all (a(logical ([1,1])) == [9,9])); %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/logical-wfi-f/m-1.m --- 80,86 ---- %! wfi = warning ("query", "Octave:fortran-indexing"); %! warning ("off", "Octave:fortran-indexing"); %! a = [9,8,7,6]; ! %! assert(all (a(logical ([1,1])) == [9,8])); %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/logical-wfi-f/m-1.m *************** *** 95,101 **** %! wfi = warning ("query", "Octave:fortran-indexing"); %! warning ("off", "Octave:fortran-indexing"); %! a = [9,8;7,6]; ! %! assert(all (a(logical ([1,1,1,1])) == [9;7;8;6])); %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/logical-wfi-f/m-3.m --- 96,102 ---- %! wfi = warning ("query", "Octave:fortran-indexing"); %! warning ("off", "Octave:fortran-indexing"); %! a = [9,8;7,6]; ! %! assert(all (a(logical ([1,1,1,1])) == [9,7,8,6])); %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/logical-wfi-f/m-3.m *************** *** 103,109 **** %! wfi = warning ("query", "Octave:fortran-indexing"); %! warning ("off", "Octave:fortran-indexing"); %! a = [9,8;7,6]; ! %! assert(all (a(logical ([0,1,1,0])) == [7;8])); %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/logical-wfi-f/m-4.m --- 104,110 ---- %! wfi = warning ("query", "Octave:fortran-indexing"); %! warning ("off", "Octave:fortran-indexing"); %! a = [9,8;7,6]; ! %! assert(all (a(logical ([0,1,1,0])) == [7,8])); %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/logical-wfi-f/m-4.m diff -cNr octave-3.0.0/test/test_logical-wfi-t.m octave-3.0.1/test/test_logical-wfi-t.m *** octave-3.0.0/test/test_logical-wfi-t.m Fri Oct 12 17:27:37 2007 --- octave-3.0.1/test/test_logical-wfi-t.m Mon Apr 21 12:00:22 2008 *************** *** 1,4 **** ! ## Copyright (C) 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 46,53 **** %!test %! wfi = warning ("query", "Octave:fortran-indexing"); %! warning ("on", "Octave:fortran-indexing"); %! a = 2; ! %! assert(all (a(logical ([1,1])) == [2,2])); %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/logical-wfi-t/v-1.m --- 46,54 ---- %!test %! wfi = warning ("query", "Octave:fortran-indexing"); %! warning ("on", "Octave:fortran-indexing"); + %!shared a %! a = 2; ! %!error a(logical ([1,1])); %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/logical-wfi-t/v-1.m *************** *** 79,85 **** %! wfi = warning ("query", "Octave:fortran-indexing"); %! warning ("on", "Octave:fortran-indexing"); %! a = [9,8,7,6]; ! %! assert(all (a(logical ([1,1])) == [9,9])); %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/logical-wfi-t/m-1.m --- 80,86 ---- %! wfi = warning ("query", "Octave:fortran-indexing"); %! warning ("on", "Octave:fortran-indexing"); %! a = [9,8,7,6]; ! %! assert(all (a(logical ([1,1])) == [9,8])); %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/logical-wfi-t/m-1.m *************** *** 95,101 **** %! wfi = warning ("query", "Octave:fortran-indexing"); %! warning ("on", "Octave:fortran-indexing"); %! a = [9,8;7,6]; ! %! all (a(logical ([1,1,1,1])) == [9;7;8;6]); %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/logical-wfi-t/m-3.m --- 96,102 ---- %! wfi = warning ("query", "Octave:fortran-indexing"); %! warning ("on", "Octave:fortran-indexing"); %! a = [9,8;7,6]; ! %! all (a(logical ([1,1,1,1])) == [9,7,8,6]); %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/logical-wfi-t/m-3.m *************** *** 103,109 **** %! wfi = warning ("query", "Octave:fortran-indexing"); %! warning ("on", "Octave:fortran-indexing"); %! a = [9,8;7,6]; ! %! all (a(logical ([0,1,1,0])) == [7;8]); %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/logical-wfi-t/m-4.m --- 104,110 ---- %! wfi = warning ("query", "Octave:fortran-indexing"); %! warning ("on", "Octave:fortran-indexing"); %! a = [9,8;7,6]; ! %! all (a(logical ([0,1,1,0])) == [7,8]); %! warning ("wfi.state", "Octave:fortran-indexing"); %% test/octave.test/logical-wfi-t/m-4.m diff -cNr octave-3.0.0/test/test_string.m octave-3.0.1/test/test_string.m *** octave-3.0.0/test/test_string.m Fri Oct 12 17:27:37 2007 --- octave-3.0.1/test/test_string.m Mon Apr 21 12:00:22 2008 *************** *** 1,4 **** ! ## Copyright (C) 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 232,240 **** %% test/octave.test/string/deblank-3.m %!error deblank ("foo", "bar"); - %% test/octave.test/string/deblank-4.m - %!error deblank (1); - %% test/octave.test/string/findstr-1.m %!assert((findstr ("abababa", "a") == [1, 3, 5, 7] %! && findstr ("abababa", "aba") == [1, 3, 5] --- 232,237 ---- *************** *** 535,540 **** --- 532,540 ---- %! result = zeros (1, 128); %! %! result (33:127) = 1; + %! if (ispc () && ! isunix ()) + %! result(10) = 1; + %! endif %! %! assert(all (isprint (charset) == result)); diff -cNr octave-3.0.0/test/test_system.m octave-3.0.1/test/test_system.m *** octave-3.0.0/test/test_system.m Fri Oct 12 17:27:37 2007 --- octave-3.0.1/test/test_system.m Mon Apr 21 12:00:22 2008 *************** *** 1,4 **** ! ## Copyright (C) 2006, 2007 John W. Eaton ## ## This file is part of Octave. ## --- 1,4 ---- ! ## Copyright (C) 2006, 2007, 2008 John W. Eaton ## ## This file is part of Octave. ## *************** *** 377,383 **** %!error file_in_path ("foo", "bar", "baz", "ooka"); %% test/octave.test/system/tilde_expand-1.m ! %!test %! x = getpwuid (getuid ()); %! assert((strcmp (x.dir, tilde_expand ("~")) %! && strcmp (x.dir, tilde_expand (sprintf ("~%s", x.name))) --- 377,383 ---- %!error file_in_path ("foo", "bar", "baz", "ooka"); %% test/octave.test/system/tilde_expand-1.m ! %!testif HAVE_GETPWUID %! x = getpwuid (getuid ()); %! assert((strcmp (x.dir, tilde_expand ("~")) %! && strcmp (x.dir, tilde_expand (sprintf ("~%s", x.name))) *************** *** 390,396 **** %!error tilde_expand ("str", 2); %% test/octave.test/system/getpgrp-1.m ! %!assert(getpgrp () > 0); %% test/octave.test/system/getpgrp-2.m %!error <... getpgrp> getpgrp (1); --- 390,397 ---- %!error tilde_expand ("str", 2); %% test/octave.test/system/getpgrp-1.m ! %!testif HAVE_GETPGRP ! %! assert(getpgrp () > 0); %% test/octave.test/system/getpgrp-2.m %!error <... getpgrp> getpgrp (1); *************** *** 402,408 **** %!error <... getpid> getpid (1); %% test/octave.test/system/getppid-1.m ! %!assert(getppid () > 0); %% test/octave.test/system/getppid-2.m %!error <... getppid> getppid (1); --- 403,410 ---- %!error <... getpid> getpid (1); %% test/octave.test/system/getppid-1.m ! %!testif HAVE_GETPPID ! %! assert(getppid () > 0); %% test/octave.test/system/getppid-2.m %!error <... getppid> getppid (1); *************** *** 471,477 **** %! cd / %! d1 = pwd (); %! cd (xdir); ! %! assert("/", d1); %! assert(pwd(), xdir); %% test/octave.test/system/cd-2.m --- 473,486 ---- %! cd / %! d1 = pwd (); %! cd (xdir); ! %! if (ispc () && ! isunix ()) ! %! # should be a drive letter ! %! assert(length (d1), 3); ! %! assert(d1(2), ":"); ! %! assert(d1(3), "\\"); ! %! else ! %! assert("/", d1); ! %! endif %! assert(pwd(), xdir); %% test/octave.test/system/cd-2.m *************** *** 484,490 **** %!error ls (1); %% test/octave.test/system/getpwent-1.m ! %!test %! s = getpwent (); %! endpwent (); %! assert((isstruct (s) --- 493,499 ---- %!error ls (1); %% test/octave.test/system/getpwent-1.m ! %!testif HAVE_GETPWENT %! s = getpwent (); %! endpwent (); %! assert((isstruct (s) *************** *** 500,506 **** %!error getpwent (1); %% test/octave.test/system/getpwuid-1.m ! %!test %! x = getpwent (); %! y = getpwuid (x.uid); %! endpwent (); --- 509,515 ---- %!error getpwent (1); %% test/octave.test/system/getpwuid-1.m ! %!testif HAVE_GETPWUID %! x = getpwent (); %! y = getpwuid (x.uid); %! endpwent (); *************** *** 513,519 **** %!error getpwuid (1, 2); %% test/octave.test/system/getpwnam-1.m ! %!test %! x = getpwent (); %! y = getpwnam (x.name); %! endpwent (); --- 522,528 ---- %!error getpwuid (1, 2); %% test/octave.test/system/getpwnam-1.m ! %!testif HAVE_GETPWNAM %! x = getpwent (); %! y = getpwnam (x.name); %! endpwent (); *************** *** 526,532 **** %!error getpwnam ("foo", 1); %% test/octave.test/system/setpwent-1.m ! %!test %! x = getpwent (); %! setpwent (); %! y = getpwent (); --- 535,541 ---- %!error getpwnam ("foo", 1); %% test/octave.test/system/setpwent-1.m ! %!testif HAVE_SETPWENT %! x = getpwent (); %! setpwent (); %! y = getpwent (); *************** *** 540,546 **** %!error endpwent (1); %% test/octave.test/system/getgrent-1.m ! %!test %! x = getgrent (); %! endgrent (); %! assert((isstruct (x) --- 549,555 ---- %!error endpwent (1); %% test/octave.test/system/getgrent-1.m ! %!testif HAVE_GETGRENT %! x = getgrent (); %! endgrent (); %! assert((isstruct (x) *************** *** 553,559 **** %!error getgrent (1); %% test/octave.test/system/getgrgid-1.m ! %!test %! x = getgrent (); %! y = getgrgid (x.gid); %! endgrent (); --- 562,568 ---- %!error getgrent (1); %% test/octave.test/system/getgrgid-1.m ! %!testif HAVE_GETGRGID %! x = getgrent (); %! y = getgrgid (x.gid); %! endgrent (); *************** *** 566,572 **** %!error getgrgid (1, 2); %% test/octave.test/system/getgrnam-1.m ! %!test %! x = getgrent (); %! y = getgrnam (x.name); %! endgrent (); --- 575,581 ---- %!error getgrgid (1, 2); %% test/octave.test/system/getgrnam-1.m ! %!testif HAVE_GETGRNAM %! x = getgrent (); %! y = getgrnam (x.name); %! endgrent (); *************** *** 579,585 **** %!error getgrnam ("foo", 1); %% test/octave.test/system/setgrent-1.m ! %!test %! x = getgrent (); %! setgrent (); %! y = getgrent (); --- 588,594 ---- %!error getgrnam ("foo", 1); %% test/octave.test/system/setgrent-1.m ! %!testif HAVE_SETGRENT %! x = getgrent (); %! setgrent (); %! y = getgrent (); PATCH_EOF